ReSharper 2021.2 Help

C++ - Braces Layout

Braces layout

Namespace declaration

Property names:

[resharper_]cpp_namespace_declaration_braces, [resharper_]cpp_brace_style, [resharper_]namespace_declaration_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
namespace ns { void a(); }
end_of_line_no_space
namespace ns{ void a(); }
next_line
namespace ns { void a(); }
next_line_shifted
namespace ns { void a(); }
next_line_shifted_2
namespace ns { void a(); }

Linkage specifications

Property names:

[resharper_]cpp_linkage_specification_braces, [resharper_]cpp_brace_style, [resharper_]linkage_specification_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
extern "C++" { void a(); }
end_of_line_no_space
extern "C++"{ void a(); }
next_line
extern "C++" { void a(); }
next_line_shifted
extern "C++" { void a(); }
next_line_shifted_2
extern "C++" { void a(); }

Type declaration

Property names:

[resharper_]cpp_type_declaration_braces, [resharper_]cpp_brace_style, [resharper_]type_declaration_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
class C { public: void a(); };
end_of_line_no_space
class C{ public: void a(); };
next_line
class C { public: void a(); };
next_line_shifted
class C { public: void a(); };
next_line_shifted_2
class C { public: void a(); };

Place namespace definitions on the same line

Property names:

[resharper_]cpp_place_namespace_definitions_on_same_line, [resharper_]place_namespace_definitions_on_same_line

Possible values:

true | false

Examples:

true
namespace A::B { void a(); }
false
namespace A::B { void a(); }

Function declaration

Property names:

[resharper_]cpp_invocable_declaration_braces, [resharper_]cpp_brace_style, [resharper_]invocable_declaration_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
void a() { b(); }
end_of_line_no_space
void a(){ b(); }
next_line
void a() { b(); }
next_line_shifted
void a() { b(); }
next_line_shifted_2
void a() { b(); }

Anonymous method declaration

Property names:

[resharper_]cpp_anonymous_method_declaration_braces, [resharper_]cpp_brace_style, [resharper_]anonymous_method_declaration_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
void a() { b(); }
end_of_line_no_space
void a() { b(); }
next_line
void a() { b(); }
next_line_shifted
void a() { b(); }
next_line_shifted_2
void a() { b(); }

Block under "case" label

Property names:

[resharper_]cpp_case_block_braces, [resharper_]cpp_brace_style, [resharper_]case_block_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
switch (expression) { case 0: { foo(); break; } }
end_of_line_no_space
switch (expression) { case 0: { foo(); break; } }
next_line
switch (expression) { case 0: { foo(); break; } }
next_line_shifted
switch (expression) { case 0: { foo(); break; } }
next_line_shifted_2
switch (expression) { case 0: { foo(); break; } }

Requires expressions

Property names:

[resharper_]cpp_requires_expression_braces, [resharper_]requires_expression_braces

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
template <typename T> concept C = requires { typename T::inner1; typename T::inner2; };
end_of_line_no_space
template <typename T> concept C = requires{ typename T::inner1; typename T::inner2; };
next_line
template <typename T> concept C = requires { typename T::inner1; typename T::inner2; };
next_line_shifted
template <typename T> concept C = requires { typename T::inner1; typename T::inner2; };
next_line_shifted_2
template <typename T> concept C = requires { typename T::inner1; typename T::inner2; };

Other statements and blocks

Property names:

[resharper_]cpp_other_braces, [resharper_]cpp_brace_style, [resharper_]other_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line
if (condition) { foo(); } else { foo(); }
end_of_line_no_space
if (condition){ foo(); } else{ foo(); }
next_line
if (condition) { foo(); } else { foo(); }
next_line_shifted
if (condition) { foo(); } else { foo(); }
next_line_shifted_2
if (condition) { foo(); } else { foo(); }

Other braces

Property names:

[resharper_]cpp_expression_braces, [resharper_]expression_braces

Possible values:

  • inside: Inside parenthesis (BSD/K&R style)

  • outside: Parenthesis and inside equally (Whitesmiths style)

  • outside_and_inside: Parenthesis 1x, inside 2x (GNU style)

  • none: No indent

Examples:

inside
if (condition) { foo(); } else { foo(); }
outside
if (condition) { foo(); } else { foo(); }
outside_and_inside
if (condition) { foo(); } else { foo(); }
none
if (condition) { foo(); } else { foo(); }

Empty braces formatting

Property names:

[resharper_]cpp_empty_block_style, [resharper_]empty_block_style

Possible values:

  • multiline: On different lines

  • together: Place braces together

  • together_same_line: Together on the same line

Examples:

multiline
class C { }; void foo() { for (;;) { } }
together
class C {}; void foo() { for (;;) {} }
together_same_line
class C {}; void foo() { for (;;) {} }

Keep simple compound statements in one line

Property names:

[resharper_]cpp_simple_block_style, [resharper_]simple_block_style

Possible values:

  • do_not_change: Do not change

  • on_single_line: Force put on single line

  • line_break: Force line breaks

Examples:

do_not_change
int foo() { return 0; }
on_single_line
int foo() { return 0; }
line_break
int foo() { return 0; }

Regular expression for macros starting a block

Property names:

[resharper_]cpp_macro_block_begin, [resharper_]macro_block_begin

Regular expression for macros ending a block.

Property names:

[resharper_]cpp_macro_block_end, [resharper_]macro_block_end

Last modified: 23 September 2021