ReSharper 2023.3 Help

EditorConfig properties for C#: Braces Layout

This page lists custom ReSharper EditorConfig properties that you can use to configure formatting preferences in C#, specifically, how ReSharper arranges braces when it generates new and reformats existing code; in particular, there are several ways to position braces after if or for operators.

Braces layout

Type and namespace declaration

Property names:

[resharper_]csharp_type_declaration_braces, [resharper_]csharp_brace_style, [resharper_]type_declaration_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

namespace N { interface I { void foo(); } class C { } }

end_of_line_no_space

namespace N{ interface I{ void foo(); } class C{ } }

next_line

namespace N { interface I { void foo(); } class C { } }

next_line_shifted

namespace N { interface I { void foo(); } class C { } }

next_line_shifted_2

namespace N { interface I { void foo(); } class C { } }

pico

namespace N { interface I { void foo(); } class C { } }

Indent inside namespace declaration

Property names:

[resharper_]csharp_indent_inside_namespace, [resharper_]indent_inside_namespace

Possible values:

true | false

Examples:

true

namespace N { interface I { void foo(); } class C { } }

false

namespace N { interface I { void foo(); } class C { } }

Method declaration

Property names:

[resharper_]csharp_invocable_declaration_braces, [resharper_]csharp_brace_style, [resharper_]invocable_declaration_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

class C { void Method() { foo(); foo1(); } }

end_of_line_no_space

class C { void Method(){ foo(); foo1(); } }

next_line

class C { void Method() { foo(); foo1(); } }

next_line_shifted

class C { void Method() { foo(); foo1(); } }

next_line_shifted_2

class C { void Method() { foo(); foo1(); } }

pico

class C { void Method() { foo(); foo1(); } }

Lambda and delegate (anonymous method declaration)

Property names:

[resharper_]csharp_anonymous_method_declaration_braces, [resharper_]csharp_brace_style, [resharper_]anonymous_method_declaration_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

D d = delegate() { int x = 0; return x; }

end_of_line_no_space

D d = delegate(){ int x = 0; return x; }

next_line

D d = delegate() { int x = 0; return x; }

next_line_shifted

D d = delegate() { int x = 0; return x; }

next_line_shifted_2

D d = delegate() { int x = 0; return x; }

pico

D d = delegate() { int x = 0; return x; }

Property declaration

Property names:

[resharper_]csharp_accessor_owner_declaration_braces, [resharper_]csharp_brace_style, [resharper_]accessor_owner_declaration_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

class C { int Property { get { return null; } set { } } }

end_of_line_no_space

class C { int Property{ get { return null; } set { } } }

next_line

class C { int Property { get { return null; } set { } } }

next_line_shifted

class C { int Property { get { return null; } set { } } }

next_line_shifted_2

class C { int Property { get { return null; } set { } } }

pico

class C { int Property { get { return null; } set { } } }

Accessor declaration

Property names:

[resharper_]csharp_accessor_declaration_braces, [resharper_]csharp_brace_style, [resharper_]accessor_declaration_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

class C { int Property { get { return null; } set { Notify(value); Set(value); } } }

end_of_line_no_space

class C { int Property { get{ return null; } set{ Notify(value); Set(value); } } }

next_line

class C { int Property { get { return null; } set { Notify(value); Set(value); } } }

next_line_shifted

class C { int Property { get { return null; } set { Notify(value); Set(value); } } }

next_line_shifted_2

class C { int Property { get { return null; } set { Notify(value); Set(value); } } }

pico

class C { int Property { get { return null; } set { Notify(value); Set(value); } } }

Block under the 'case' label

Property names:

[resharper_]csharp_case_block_braces, [resharper_]csharp_brace_style, [resharper_]case_block_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico 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; } }

pico

switch (expression) { case 0: { foo(); break; } }

Expressions (initializers, switch expressions, patterns, collection expressions)

Property names:

[resharper_]csharp_initializer_braces, [resharper_]csharp_brace_style, [resharper_]initializer_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico style)

Examples:

end_of_line

int[] array = new int[] { 1, 2, 3 }

end_of_line_no_space

int[] array = new int[]{ 1, 2, 3 }

next_line

int[] array = new int[] { 1, 2, 3 }

next_line_shifted

int[] array = new int[] { 1, 2, 3 }

next_line_shifted_2

int[] array = new int[] { 1, 2, 3 }

pico

int[] array = new int[] { 1, 2, 3 }

Use continuous line indent inside expression braces

Property names:

[resharper_]csharp_use_continuous_indent_inside_initializer_braces, [resharper_]use_continuous_indent_inside_initializer_braces

Possible values:

true | false

Examples:

true

int[] array = new int[] { 1, 2, 3 }

false

int[] array = new int[] { 1, 2, 3 }

Other

Property names:

[resharper_]csharp_other_braces, [resharper_]csharp_brace_style, [resharper_]other_braces, [resharper_]brace_style

Possible values:

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

  • end_of_line_no_space: At the 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)

  • pico: Compact (Pico 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(); }

pico

if (condition) { foo(); } else { foo(); }

Allow comment after '{'

Property names:

[resharper_]csharp_allow_comment_after_lbrace, [resharper_]allow_comment_after_lbrace

Possible values:

true | false

Examples:

true

if (condition) { // comment statement; }

false

if (condition) { // comment statement; }

Empty braces formatting

Property names:

[resharper_]csharp_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 EmptyMethod() { } }

together

class C { void EmptyMethod() { } }

together_same_line

class C { void EmptyMethod() { } }
Last modified: 18 March 2024