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 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)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 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)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 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)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 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)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 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)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 "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 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)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)
Property names:
[resharper_]csharp_initializer_braces
, [resharper_]csharp_brace_style
, [resharper_]initializer_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)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 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)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 linestogether
: Place braces togethertogether_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() { }
} |