ReSharper 2020.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 { namespace B { void a(); }}
false
namespace A { namespace 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
auto a = []() { int x = 0; return x; };
end_of_line_no_space
auto a = [](){ int x = 0; return x; };
next_line
auto a = []() { int x = 0; return x; };
next_line_shifted
auto a = []() { int x = 0; return x; };
next_line_shifted_2
auto a = []() { int x = 0; return x; };

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
int a[10] = { 1, 2, 3 };
outside
int a[10] = { 1, 2, 3 };
outside_and_inside
int a[10] = { 1, 2, 3 };
none
int a[10] = { 1, 2, 3 };

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; }
Last modified: 08 May 2020