ReSharper 2017.3 Help

C# - Line Breaks

General

Keep existing line breaks

Property names:

[resharper_]csharp_keep_user_linebreaks, [resharper_]csharp_keep_existing_arrangement, [resharper_]csharp_keep_existing_linebreaks, [resharper_]keep_user_linebreaks, [resharper_]keep_existing_arrangement, [resharper_]keep_existing_linebreaks

Possible values:

true | false

Examples:

Before formatting After formatting, true
int·var·=·condition ··?·SomeFunc1() ··:·SomeFunc2();
int·var·=·condition ····?·SomeFunc1() ····:·SomeFunc2();
Before formatting After formatting, false
int·var·=·condition ··?·SomeFunc1() ··:·SomeFunc2();
int·var·=·condition·?·SomeFunc1()·:·SomeFunc2();

Right margin (columns)

Property names:

csharp_max_line_length, max_line_length

This option (similarly to the Editorconfig's 'max_line_length') defines the maximum number of characters in each line. It is applied during code reformatting if 'Wrap long lines' is enabled. Line breaks are added at the positions not exceeding the specified value, according to the language syntax and other line wrapping settings.

Possible values:

an integer

Prefer wrap before ","

Property names:

[resharper_]csharp_wrap_before_comma, [resharper_]wrap_before_comma

Possible values:

true | false

Examples:

true
CallMethod(arg1 ····,·arg2 ····,·arg3 ····,·arg4 ····,·arg5 ····,·arg6 ····,·arg7);
false
CallMethod(arg1, ····arg2, ····arg3, ····arg4, ····arg5, ····arg6, ····arg7);

Special "else if" treatment

Property names:

[resharper_]csharp_special_else_if_treatment, [resharper_]special_else_if_treatment

Possible values:

true | false

Examples:

true
if·(condition) { ····foo(); } else·if·(condition) { }
false
if·(condition) { ····foo(); } else ····if·(condition) ····{ ····}

Line feed at end of file

Property names:

csharp_insert_final_newline, insert_final_newline

Possible values:

true | false

Examples:

true
class·A { }
false
class·A { }

Arrangement of Attributes

Place attribute section list on separate line if it is longer than

Property names:

[resharper_]csharp_max_attribute_length_for_same_line, [resharper_]max_attribute_length_for_same_line

Attribute sections longer than specified values would be placed on separate line

Possible values:

an integer

Keep existing arrangement of attributes

Property names:

[resharper_]csharp_keep_existing_attribute_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_attribute_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
[Attribute] class·C·{} [Attribute]·class·C1·{}
[Attribute] class·C·{·} [Attribute]·class·C1·{·}
Before formatting After formatting, false
[Attribute] class·C·{} [Attribute]·class·C1·{}
[Attribute] class·C·{·} [Attribute] class·C1·{·}

Place type attribute on same line

Property names:

[resharper_]csharp_place_type_attribute_on_same_line, [resharper_]csharp_place_attribute_on_same_line, [resharper_]place_type_attribute_on_same_line, [resharper_]place_attribute_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
[Attribute]·class·C·{·} [Attribute]·class·C1 { ····//·comment· }
always
[Attribute]·class·C·{·} [Attribute]·class·C1 { ····//·comment· }
if_owner_is_single_line
[Attribute]·class·C·{·} [Attribute] class·C1 { ····//·comment· }
False
[Attribute] class·C·{·} [Attribute] class·C1 { ····//·comment· }
never
[Attribute] class·C·{·} [Attribute] class·C1 { ····//·comment· }

Place method attribute on same line

Property names:

[resharper_]csharp_place_method_attribute_on_same_line, [resharper_]csharp_place_attribute_on_same_line, [resharper_]place_method_attribute_on_same_line, [resharper_]place_attribute_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
interface·I { ····[Attribute]·void·foo(); } class·C { ····[Attribute]·void·foo() ····{ ········//·comment ····} }
always
interface·I { ····[Attribute]·void·foo(); } class·C { ····[Attribute]·void·foo() ····{ ········//·comment ····} }
if_owner_is_single_line
interface·I { ····[Attribute]·void·foo(); } class·C { ····[Attribute] ····void·foo() ····{ ········//·comment ····} }
False
interface·I { ····[Attribute] ····void·foo(); } class·C { ····[Attribute] ····void·foo() ····{ ········//·comment ····} }
never
interface·I { ····[Attribute] ····void·foo(); } class·C { ····[Attribute] ····void·foo() ····{ ········//·comment ····} }

Place property/indexer/event attribute on same line

Property names:

[resharper_]csharp_place_accessorholder_attribute_on_same_line, [resharper_]csharp_place_attribute_on_same_line, [resharper_]place_accessorholder_attribute_on_same_line, [resharper_]place_attribute_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
interface·I { ····[Attribute]·int·Property·{·get;·} } class·C { ····[Attribute]·int·Property ····{ ········get ········{ ············//·comment ············return·x; ········} ····} }
always
interface·I { ····[Attribute]·int·Property·{·get;·} } class·C { ····[Attribute]·int·Property ····{ ········get ········{ ············//·comment ············return·x; ········} ····} }
if_owner_is_single_line
interface·I { ····[Attribute]·int·Property·{·get;·} } class·C { ····[Attribute] ····int·Property ····{ ········get ········{ ············//·comment ············return·x; ········} ····} }
False
interface·I { ····[Attribute] ····int·Property·{·get;·} } class·C { ····[Attribute] ····int·Property ····{ ········get ········{ ············//·comment ············return·x; ········} ····} }
never
interface·I { ····[Attribute] ····int·Property·{·get;·} } class·C { ····[Attribute] ····int·Property ····{ ········get ········{ ············//·comment ············return·x; ········} ····} }

Place accessor attribute on same line

Property names:

[resharper_]csharp_place_accessor_attribute_on_same_line, [resharper_]csharp_place_attribute_on_same_line, [resharper_]place_accessor_attribute_on_same_line, [resharper_]place_attribute_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
interface·I { ····int·Property·{·[Attribute]·get;·} } class·C { ····int·Property ····{ ········[Attribute]·get·{·return·x;·} ········[Attribute]·set ········{ ············x·=·value; ············NotifySomething(); ········} ····} }
always
interface·I { ····int·Property·{·[Attribute]·get;·} } class·C { ····int·Property ····{ ········[Attribute]·get·{·return·x;·} ········[Attribute]·set ········{ ············x·=·value; ············NotifySomething(); ········} ····} }
if_owner_is_single_line
interface·I { ····int·Property·{·[Attribute]·get;·} } class·C { ····int·Property ····{ ········[Attribute]·get·{·return·x;·} ········[Attribute] ········set ········{ ············x·=·value; ············NotifySomething(); ········} ····} }
False
interface·I { ····int·Property ····{ ········[Attribute] ········get; ····} } class·C { ····int·Property ····{ ········[Attribute] ········get·{·return·x;·} ········[Attribute] ········set ········{ ············x·=·value; ············NotifySomething(); ········} ····} }
never
interface·I { ····int·Property ····{ ········[Attribute] ········get; ····} } class·C { ····int·Property ····{ ········[Attribute] ········get·{·return·x;·} ········[Attribute] ········set ········{ ············x·=·value; ············NotifySomething(); ········} ····} }

Place field attribute on same line

Property names:

[resharper_]csharp_place_field_attribute_on_same_line, [resharper_]csharp_place_attribute_on_same_line, [resharper_]place_field_attribute_on_same_line, [resharper_]place_attribute_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
class·C { ····[Attribute]·int·x; ····[Attribute]·MyObj·y·=·//·comment· ········new·MyObj(); }
always
class·C { ····[Attribute]·int·x; ····[Attribute]·MyObj·y·=·//·comment· ········new·MyObj(); }
if_owner_is_single_line
class·C { ····[Attribute]·int·x; ····[Attribute] ····MyObj·y·=·//·comment· ········new·MyObj(); }
False
class·C { ····[Attribute] ····int·x; ····[Attribute] ····MyObj·y·=·//·comment· ········new·MyObj(); }
never
class·C { ····[Attribute] ····int·x; ····[Attribute] ····MyObj·y·=·//·comment· ········new·MyObj(); }

Arrangement of Method Signatures

Wrap formal parameters

Property names:

[resharper_]csharp_wrap_parameters_style, [resharper_]wrap_parameters_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
void·SomeMethod(int·p1, ····int·p2, ····int·p3, ····int·p4) { }
chop_if_long
void·SomeMethod(int·p1, ····int·p2, ····int·p3, ····int·p4) { }
wrap_if_long
void·SomeMethod(int·p1,·int·p2, ····int·p3,·int·p4) { }

Prefer wrap before "(" in declaration

Property names:

[resharper_]csharp_wrap_before_declaration_lpar, [resharper_]wrap_before_declaration_lpar

Possible values:

true | false

Examples:

true
void·SomeMethod (int·p1,·int·p2, ····int·p3,·int·p4) { }
false
void·SomeMethod(int·p1,·int·p2, ····int·p3,·int·p4) { }

Prefer wrap after "(" in declaration

Property names:

[resharper_]csharp_wrap_after_declaration_lpar, [resharper_]wrap_after_declaration_lpar

Possible values:

true | false

Examples:

true
void·SomeMethod( ····int·p1,·int·p2, ····int·p3,·int·p4) { }
false
void·SomeMethod(int·p1,·int·p2, ····int·p3,·int·p4) { }

Allow constructor initializer on same line

Property names:

[resharper_]csharp_place_constructor_initializer_on_same_line, [resharper_]place_constructor_initializer_on_same_line

Possible values:

true | false

Examples:

true
class·C { ····public·C()·:·base() ····{ ····} }
false
class·C { ····public·C() ········:·base() ····{ ····} }

Arrangement of Expression Bodied Members

Keep existing arrangement of expression bodied members

Property names:

[resharper_]csharp_keep_existing_expr_member_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_expr_member_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
class·A { ··public·int·Foo()·=>·0; ··public·int·Foo1() ····=>·1; ··public·int·Foo2()·=> ····2; }
class·A { ····public·int·Foo()·=>·0; ····public·int·Foo1() ········=>·1; ····public·int·Foo2()·=> ········2; }
Before formatting After formatting, false
class·A { ··public·int·Foo()·=>·0; ··public·int·Foo1() ····=>·1; ··public·int·Foo2()·=> ····2; }
class·A { ····public·int·Foo()·=>·0; ····public·int·Foo1()·=>·1; ····public·int·Foo2()·=>·2; }

Place method expression body on same line

Property names:

[resharper_]csharp_place_expr_method_on_single_line, [resharper_]place_expr_method_on_single_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
class·A { ····public·int·Foo()·=>·0; ····public·int·//·comment ········Foo1()·=>·1; ····public·int·Foo2()·=>·1·+·//·comment ·························2; }
always
class·A { ····public·int·Foo()·=>·0; ····public·int·//·comment ········Foo1()·=>·1; ····public·int·Foo2()·=>·1·+·//·comment ·························2; }
if_owner_is_single_line
class·A { ····public·int·Foo()·=>·0; ····public·int·//·comment ········Foo1()·=> ········1; ····public·int·Foo2()·=> ········1·+·//·comment ········2; }
False
class·A { ····public·int·Foo()·=> ········0; ····public·int·//·comment ········Foo1()·=> ········1; ····public·int·Foo2()·=> ········1·+·//·comment ········2; }
never
class·A { ····public·int·Foo()·=> ········0; ····public·int·//·comment ········Foo1()·=> ········1; ····public·int·Foo2()·=> ········1·+·//·comment ········2; }

Place property expression body on same line

Property names:

[resharper_]csharp_place_expr_property_on_single_line, [resharper_]place_expr_property_on_single_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
class·A { ····public·int·Foo·=>·0; ····public·int·//·comment ········Foo1·=>·1; ····public·int·Foo2·=>·1·+·//·comment ·······················2; }
always
class·A { ····public·int·Foo·=>·0; ····public·int·//·comment ········Foo1·=>·1; ····public·int·Foo2·=>·1·+·//·comment ·······················2; }
if_owner_is_single_line
class·A { ····public·int·Foo·=>·0; ····public·int·//·comment ········Foo1·=> ········1; ····public·int·Foo2·=> ········1·+·//·comment ········2; }
False
class·A { ····public·int·Foo·=> ········0; ····public·int·//·comment ········Foo1·=> ········1; ····public·int·Foo2·=> ········1·+·//·comment ········2; }
never
class·A { ····public·int·Foo·=> ········0; ····public·int·//·comment ········Foo1·=> ········1; ····public·int·Foo2·=> ········1·+·//·comment ········2; }

Place property accessor expression body on same line

Property names:

[resharper_]csharp_place_expr_accessor_on_single_line, [resharper_]place_expr_accessor_on_single_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
class·A { ····public·int·Foo ····{ ········get·=>·0; ····} ····public·int·Foo1 ····{ ········get·=>·1·+·//·comment ···············2; ····} }
always
class·A { ····public·int·Foo ····{ ········get·=>·0; ····} ····public·int·Foo1 ····{ ········get·=>·1·+·//·comment ···············2; ····} }
if_owner_is_single_line
class·A { ····public·int·Foo ····{ ········get·=>·0; ····} ····public·int·Foo1 ····{ ········get·=> ············1·+·//·comment ············2; ····} }
False
class·A { ····public·int·Foo ····{ ········get·=> ············0; ····} ····public·int·Foo1 ····{ ········get·=> ············1·+·//·comment ············2; ····} }
never
class·A { ····public·int·Foo ····{ ········get·=> ············0; ····} ····public·int·Foo1 ····{ ········get·=> ············1·+·//·comment ············2; ····} }

Prefer wrap before "=>" followed by expressions

Property names:

[resharper_]csharp_wrap_before_arrow_with_expressions, [resharper_]wrap_before_arrow_with_expressions

Possible values:

true | false

Examples:

true
class·A { ····public·int·Foo(int·y) ········=>·Br( ············y·*·y·+·y·<< ············y·+·y); ····Func<int,·int,·int> ········Method2() ····{ ········return·(xxx,·yyy) ············=>·Br(xxx·*·yyy); ····} }
false
class·A { ····public·int·Foo(int·y)·=> ········Br(y·*·y·+·y·<<·y·+·y); ····Func<int,·int,·int> ········Method2() ····{ ········return·(xxx,·yyy)·=> ············Br(xxx·*·yyy); ····} }

Arrangement of Type Parameters, Constraints and Base Types

Allow type constraints on same line

Property names:

[resharper_]csharp_place_type_constraints_on_same_line, [resharper_]place_type_constraints_on_same_line

Possible values:

true | false

Examples:

true
class·C<T>·where·T·:·IEnumerable { }
false
class·C<T> ····where·T·:·IEnumerable { }

Prefer wrap before first constraint

Property names:

[resharper_]csharp_wrap_before_first_type_parameter_constraint, [resharper_]wrap_before_first_type_parameter_constraint

Possible values:

true | false

Examples:

true
class·C<T1,·T2,·T3> ····where·T1·:·I1 ····where·T2·:·new() ····where·T3·:·class
false
class·C<T1,·T2,·T3>·where·T1·:·I1 ····where·T2·:·new() ····where·T3·:·class

Wrap multiple type parameter constraints

Property names:

[resharper_]csharp_wrap_multiple_type_parameter_constraints_style, [resharper_]wrap_multiple_type_parameter_constraints_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
class·C<T1,·T2,·T3>·where·T1·:·I1 ····where·T2·:·new() ····where·T3·:·class
chop_if_long
class·C<T1,·T2,·T3>·where·T1·:·I1 ····where·T2·:·new() ····where·T3·:·class
wrap_if_long
class·C<T1,·T2,·T3>·where·T1·:·I1·where·T2·:·new() ····where·T3·:·class

Prefer wrap before type parameters opening angle

Property names:

[resharper_]csharp_wrap_before_type_parameter_langle, [resharper_]wrap_before_type_parameter_langle

Possible values:

true | false

Examples:

true
class·C <Type1,·Type2, ····Type3,·Type4> { }
false
class·C<Type1,·Type2, ····Type3,·Type4> { }

Prefer wrap before ":"

Property names:

[resharper_]csharp_wrap_before_extends_colon, [resharper_]wrap_before_extends_colon

Possible values:

true | false

Examples:

true
class·Derived ····:·BaseClass,·I1,·I2, ········I3,·I4 { }
false
class·Derived·:·BaseClass,·I1, ····I2, ····I3,·I4 { }

Wrap extends/implements list

Property names:

[resharper_]csharp_wrap_extends_list_style, [resharper_]wrap_extends_list_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
class·Derived·:·BaseClass, ····I1, ····I2, ····I3, ····I4 { }
chop_if_long
class·Derived·:·BaseClass, ····I1, ····I2, ····I3, ····I4 { }
wrap_if_long
class·Derived·:·BaseClass,·I1, ····I2,·I3,·I4 { }

Arrangement of Declaration Blocks

Keep existing arrangement of declaration blocks

Property names:

[resharper_]csharp_keep_existing_declaration_block_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_declaration_block_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
interface·I{ ··int·Property·{ get;·set; } } interface·I{int·Property{get;set;}}
interface·I { ····int·Property ····{ ········get; ········set; ····} } interface·I { ····int·Property·{·get;·set;·} }
Before formatting After formatting, false
interface·I{ ··int·Property·{ get;·set; } } interface·I{int·Property{get;set;}}
interface·I { ····int·Property·{·get;·set;·} } interface·I { ····int·Property·{·get;·set;·} }

Place abstract/auto property/indexer/event declaration on single line

Property names:

[resharper_]csharp_place_abstract_accessorholder_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]csharp_place_simple_declaration_blocks_on_single_line, [resharper_]place_abstract_accessorholder_on_single_line, [resharper_]place_simple_blocks_on_single_line, [resharper_]place_simple_declaration_blocks_on_single_line

Possible values:

true | false

Examples:

true
interface·I { ····int·Property·{·get;·set;·} }
false
interface·I { ····int·Property ····{ ········get; ········set; ····} }

Place simple property/indexer/event declaration on single line

Property names:

[resharper_]csharp_place_simple_accessorholder_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]csharp_place_simple_declaration_blocks_on_single_line, [resharper_]place_simple_accessorholder_on_single_line, [resharper_]place_simple_blocks_on_single_line, [resharper_]place_simple_declaration_blocks_on_single_line

Possible values:

true | false

Examples:

true
class·C { ····int·Property·{·get·{·return·x;·}·set·{·x·=·value;·}·} }
false
class·C { ····int·Property ····{ ········get·{·return·x;·} ········set·{·x·=·value;·} ····} }

Place it on single line even when it has attributes on accessors

Property names:

[resharper_]csharp_place_accessor_with_attrs_holder_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]csharp_place_simple_declaration_blocks_on_single_line, [resharper_]place_accessor_with_attrs_holder_on_single_line, [resharper_]place_simple_blocks_on_single_line, [resharper_]place_simple_declaration_blocks_on_single_line

Possible values:

true | false

Examples:

true
class·C { ····int·Property ····{ ········[Attr]·get·{·return·x;·} ········[Attr]·set·{·x·=·value;·} ····} }
false
class·C { ····int·Property ····{ ········[Attr]·get·{·return·x;·} ········[Attr]·set·{·x·=·value;·} ····} }

Place simple accessor on single line

Property names:

[resharper_]csharp_place_simple_accessor_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]csharp_place_simple_declaration_blocks_on_single_line, [resharper_]place_simple_accessor_on_single_line, [resharper_]place_simple_blocks_on_single_line, [resharper_]place_simple_declaration_blocks_on_single_line

Possible values:

true | false

Examples:

true
class·C { ····int·Property ····{ ········get·{·return·x;·} ········set ········{ ············if·(value·==·null)·throw·new·Exception(); ········} ····} }
false
class·C { ····int·Property ····{ ········get ········{ ············return·x; ········} ········set ········{ ············if·(value·==·null)·throw·new·Exception(); ········} ····} }

Place simple method on single line

Property names:

[resharper_]csharp_place_simple_method_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]csharp_place_simple_declaration_blocks_on_single_line, [resharper_]place_simple_method_on_single_line, [resharper_]place_simple_blocks_on_single_line, [resharper_]place_simple_declaration_blocks_on_single_line

Possible values:

true | false

Examples:

true
class·C { ····void·Foo()·{·DoSomethingSimple();·} }
false
class·C { ····void·Foo() ····{ ········DoSomethingSimple(); ····} }

Arrangement of Statements

Place "else" on new line

Property names:

csharp_new_line_before_else, new_line_before_else

Possible values:

true | false

Examples:

true
if·(condition) { ····foo(); } else { ····foo(); }
false
if·(condition) { ····foo(); }·else { ····foo(); }

Place "while" on new line

Property names:

[resharper_]csharp_new_line_before_while, [resharper_]new_line_before_while

Possible values:

true | false

Examples:

true
do { ····foo(); } while·(condition);
false
do { ····foo(); }·while·(condition);

Place "catch" on new line

Property names:

csharp_new_line_before_catch, new_line_before_catch

Possible values:

true | false

Examples:

true
try { ····foo(); } catch·(Exception·e) { ····foo(); } finally { ····foo(); }
false
try { ····foo(); }·catch·(Exception·e) { ····foo(); } finally { ····foo(); }

Place "finally" on new line

Property names:

csharp_new_line_before_finally, new_line_before_finally

Possible values:

true | false

Examples:

true
try { ····foo(); } catch·(Exception·e) { ····foo(); } finally { ····foo(); }
false
try { ····foo(); } catch·(Exception·e) { ····foo(); }·finally { ····foo(); }

Wrap "for" statement header

Property names:

[resharper_]csharp_wrap_for_stmt_header_style, [resharper_]wrap_for_stmt_header_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
for·(int·i·=·initial; ····i·<·loopLimit; ····i++) { }
chop_if_long
for·(int·i·=·initial; ····i·<·loopLimit; ····i++) { }
wrap_if_long
for·(int·i·=·initial; ····i·<·loopLimit;·i++) { }

Wrap multiple declaration

Property names:

[resharper_]csharp_wrap_multiple_declaration_style, [resharper_]wrap_multiple_declaration_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
class·C { ····public·int·i·=·0, ········j·=·0, ········k·=·2, ········l·=·3, ········m·=·4, ········n·=·5; }
chop_if_long
class·C { ····public·int·i·=·0, ········j·=·0, ········k·=·2, ········l·=·3, ········m·=·4, ········n·=·5; }
wrap_if_long
class·C { ····public·int·i·=·0,·j·=·0, ········k·=·2,·l·=·3,·m·=·4, ········n·=·5; }

Arrangement of Embedded Statements

Keep existing arrangement of embedded statements

Property names:

[resharper_]csharp_keep_existing_embedded_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_embedded_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
{ ··if·(condition)·DoSomething(); ··if·(condition1) ····DoSomething1(); }
{ ····if·(condition)·DoSomething(); ····if·(condition1) ········DoSomething1(); }
Before formatting After formatting, false
{ ··if·(condition)·DoSomething(); ··if·(condition1) ····DoSomething1(); }
{ ····if·(condition)·DoSomething(); ····if·(condition1)·DoSomething1(); }

Place simple embedded statement on same line

Property names:

[resharper_]csharp_place_simple_embedded_statement_on_same_line, [resharper_]place_simple_embedded_statement_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
{ ····if·(condition)·DoSomething(); ····if·(condition·&&·//·comment ········condition1)·DoSomething(); }
always
{ ····if·(condition)·DoSomething(); ····if·(condition·&&·//·comment ········condition1)·DoSomething(); }
if_owner_is_single_line
{ ····if·(condition)·DoSomething(); ····if·(condition·&&·//·comment ········condition1) ········DoSomething(); }
False
{ ····if·(condition) ········DoSomething(); ····if·(condition·&&·//·comment ········condition1) ········DoSomething(); }
never
{ ····if·(condition) ········DoSomething(); ····if·(condition·&&·//·comment ········condition1) ········DoSomething(); }

Place simple "case" statement on same line

Property names:

[resharper_]csharp_place_simple_case_statement_on_same_line, [resharper_]place_simple_case_statement_on_same_line

Possible values:

  • True: Always
  • always: Always
  • if_owner_is_single_line: If owner is singleline
  • False: Never
  • never: Never

Examples:

True
switch·(foo) { ····case·1:·return·a; ····case·2: ····case·3:·return·a; }
always
switch·(foo) { ····case·1:·return·a; ····case·2: ····case·3:·return·a; }
if_owner_is_single_line
switch·(foo) { ····case·1:·return·a; ····case·2: ····case·3: ········return·a; }
False
switch·(foo) { ····case·1: ········return·a; ····case·2: ····case·3: ········return·a; }
never
switch·(foo) { ····case·1: ········return·a; ····case·2: ····case·3: ········return·a; }

Arrangement of Embedded Blocks

Keep existing arrangement of embedded blocks

Property names:

[resharper_]csharp_keep_existing_embedded_block_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_embedded_block_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
{ ··if·(condition)·{·DoSomething();·} ··if·(condition1) ··{ ····DoSomething1(); ··} }
{ ····if·(condition)·{·DoSomething();·} ····if·(condition1) ····{ ········DoSomething1(); ····} }
Before formatting After formatting, false
{ ··if·(condition)·{·DoSomething();·} ··if·(condition1) ··{ ····DoSomething1(); ··} }
{ ····if·(condition) ····{ ········DoSomething(); ····} ····if·(condition1) ····{ ········DoSomething1(); ····} }

Place a block with a single simple statement on same line

Property names:

[resharper_]csharp_place_simple_embedded_block_on_same_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]place_simple_embedded_block_on_same_line, [resharper_]place_simple_blocks_on_single_line

Possible values:

true | false

Examples:

true
if·(condition)·{·DoSomething();·}
false
if·(condition) { ····DoSomething(); }

Place simple anonymous method on single line

Property names:

[resharper_]csharp_place_simple_anonymousmethod_on_single_line, [resharper_]csharp_place_simple_blocks_on_single_line, [resharper_]place_simple_anonymousmethod_on_single_line, [resharper_]place_simple_blocks_on_single_line

Possible values:

true | false

Examples:

true
EventHandler·e·=·delegate·{·return;·};
false
EventHandler·e·=·delegate { ····return; };

Arrangement of Initializers

Keep existing arrangement of initializers

Property names:

[resharper_]csharp_keep_existing_initializer_arrangement, [resharper_]csharp_keep_existing_arrangement, [resharper_]keep_existing_initializer_arrangement, [resharper_]keep_existing_arrangement

Possible values:

true | false

Examples:

Before formatting After formatting, true
{ ··var·result·=·new·{ ····A·=·0· ··}; ··var·result·=·new·{·A·=·0·}; }
{ ····var·result·=·new ····{ ········A·=·0 ····}; ····var·result·=·new·{A·=·0}; }
Before formatting After formatting, false
{ ··var·result·=·new·{ ····A·=·0· ··}; ··var·result·=·new·{·A·=·0·}; }
{ ····var·result·=·new·{A·=·0}; ····var·result·=·new·{A·=·0}; }

Place simple array, object and collection on single line

Property names:

[resharper_]csharp_place_simple_initializer_on_single_line, [resharper_]place_simple_initializer_on_single_line

Possible values:

true | false

Examples:

true
var·result·=·new·{A·=·0};
false
var·result·=·new { ····A·=·0 };

Wrap object and collection initializer

Property names:

[resharper_]csharp_wrap_object_and_collection_initializer_style, [resharper_]wrap_object_and_collection_initializer_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
new·C() { ····PropertyX·=·1, ····PropertyY·=·2, ····PropertyZ·=·3 }
chop_if_long
new·C() { ····PropertyX·=·1, ····PropertyY·=·2, ····PropertyZ·=·3 }
wrap_if_long
new·C() { ····PropertyX·=·1,·PropertyY·=·2, ····PropertyZ·=·3 }

Wrap array initializer

Property names:

[resharper_]csharp_wrap_array_initializer_style, [resharper_]wrap_array_initializer_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
new·C[] { ····Element1, ····ElementX, ····ElementY, ····ElementZ, ····ElementZzz }
chop_if_long
new·C[] { ····Element1, ····ElementX, ····ElementY, ····ElementZ, ····ElementZzz }
wrap_if_long
new·C[] { ····Element1,·ElementX,·ElementY, ····ElementZ,·ElementZzz }

Arrangement of Invocations

Wrap invocation arguments

Property names:

[resharper_]csharp_wrap_arguments_style, [resharper_]wrap_arguments_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
CallMethod(arg1, ····arg2, ····arg3, ····arg4, ····arg5);
chop_if_long
CallMethod(arg1, ····arg2, ····arg3, ····arg4, ····arg5);
wrap_if_long
CallMethod(arg1,·arg2,·arg3, ····arg4,·arg5);

Prefer wrap before "(" in invocation

Property names:

[resharper_]csharp_wrap_before_invocation_lpar, [resharper_]wrap_before_invocation_lpar

Possible values:

true | false

Examples:

true
CallMethod (arg1,·arg2, ····arg3,·arg4,·arg5);
false
CallMethod(arg1,·arg2, ····arg3,·arg4,·arg5);

Prefer wrap after "(" in invocation

Property names:

[resharper_]csharp_wrap_after_invocation_lpar, [resharper_]wrap_after_invocation_lpar

Possible values:

true | false

Examples:

true
CallMethod( ····arg1,·arg2, ····arg3,·arg4,·arg5);
false
CallMethod(arg1,·arg2, ····arg3,·arg4,·arg5);

Arrangement of Member Access Expressions

Prefer wrap after "."

Property names:

[resharper_]csharp_wrap_after_dot_in_method_calls, [resharper_]wrap_after_dot_in_method_calls

Possible values:

true | false

Examples:

true
obj.Method(). ····Method(). ····Method(). ····Method(). ····Method(). ····Method(). ····Method(). ····Method(). ····Method(). ····Method();
false
obj.Method() ····.Method() ····.Method() ····.Method() ····.Method() ····.Method() ····.Method() ····.Method() ····.Method() ····.Method();

Wrap chained method calls

Property names:

[resharper_]csharp_wrap_chained_method_calls, [resharper_]wrap_chained_method_calls

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
obj.Method() ········.Method()·+ ····obj.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method();
chop_if_long
obj.Method().Method()·+ ····obj.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method() ········.Method();
wrap_if_long
obj.Method().Method()·+ ····obj.Method().Method() ········.Method().Method() ········.Method().Method() ········.Method().Method() ········.Method().Method();

Arrangement of Binary Expressions

Prefer wrap before operator in binary expression

Property names:

[resharper_]csharp_wrap_before_binary_opsign, [resharper_]wrap_before_binary_opsign

Possible values:

true | false

Examples:

true
myField1·=·expression1 ···········+·expression2 ···········+·expression3 ···········+·expression4 ···········+·expression5 ···········+·expression6 ···········+·expression7;
false
myField1·=·expression1·+ ···········expression2·+ ···········expression3·+ ···········expression4·+ ···········expression5·+ ···········expression6·+ ···········expression7;

Wrap chained binary expressions

Property names:

[resharper_]csharp_wrap_chained_binary_expressions, [resharper_]wrap_chained_binary_expressions

Possible values:

  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_if_long
b·=·a·!=·b·&& ····c·!=·d·&& ····e·&& ····f.IsSumOf(g,·h)·&& ····i.Value·==·j·&& ····k·==·l·&& ····m·==·n·&& ····o·==·p;
wrap_if_long
b·=·a·!=·b·&&·c·!=·d·&&·e·&& ····f.IsSumOf(g,·h)·&& ····i.Value·==·j·&&·k·==·l·&& ····m·==·n·&&·o·==·p;

Force chop compound condition in "if" statement

Property names:

[resharper_]csharp_force_chop_compound_if_expression, [resharper_]force_chop_compound_if_expression

Possible values:

true | false

Examples:

true
if·(var1·==·null·|| ····var2·==·null) ····Foo();
false
if·(var1·==·null·||·var2·==·null) ····Foo();

Force chop compound condition in "while" statement

Property names:

[resharper_]csharp_force_chop_compound_while_expression, [resharper_]force_chop_compound_while_expression

Possible values:

true | false

Examples:

true
while·(var1·==·null·|| ·······var2·==·null) ····Foo();
false
while·(var1·==·null·||·var2·==·null) ····Foo();

Force chop compound condition in "do" statement

Property names:

[resharper_]csharp_force_chop_compound_do_expression, [resharper_]force_chop_compound_do_expression

Possible values:

true | false

Examples:

true
do { ····Foo(); }·while·(var1·==·null·|| ·········var2·==·null);
false
do { ····Foo(); }·while·(var1·==·null·||·var2·==·null);

Arrangement of Ternary Expressions

Prefer wrap before "?" and ":" in ternary expressions

Property names:

[resharper_]csharp_wrap_before_ternary_opsigns, [resharper_]wrap_before_ternary_opsigns

Possible values:

true | false

Examples:

true
return·hereGoesSomeBoolExpression ····?·returnThisIfTrue ····:·returnThatIfFalse;
false
return·hereGoesSomeBoolExpression·? ····returnThisIfTrue·: ····returnThatIfFalse;

Wrap ternary expression

Property names:

[resharper_]csharp_wrap_ternary_expr_style, [resharper_]wrap_ternary_expr_style

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
myField·=·someCondition ····?·true ····:·false;
chop_if_long
myField·=·someCondition ····?·true ····:·false;
wrap_if_long
myField·=·someCondition·?·true ····:·false;

Nested ternary expression style

Property names:

[resharper_]csharp_nested_ternary_style, [resharper_]nested_ternary_style

Possible values:

  • compact: Chop in compact style
  • expanded: Chop in expanded style
  • simple_wrap: Simple wrap/Do not change
  • autodetect: Chop in existing style

Examples:

Before formatting After formatting, compact
{ a·=·i·?·"am"·:·you·?·"are"·:·"is"; b·=·error·?·red·: ·warning·?·yellow·: ·green; c·=·tiger ·?·dangerous· :·cat ·?·cute· :·boring; d·=·roses·?·red· :·violets·?·blue· :·so_are_you; }
{ ····a·=·i·?·"am"·: ········you·?·"are"·:·"is"; ····b·=·error·?·red·: ········warning·?·yellow·: ········green; ····c·=·tiger·?·dangerous·: ········cat·?·cute·:·boring; ····d·=·roses·?·red·: ········violets·?·blue·: ········so_are_you; }
Before formatting After formatting, expanded
{ a·=·i·?·"am"·:·you·?·"are"·:·"is"; b·=·error·?·red·: ·warning·?·yellow·: ·green; c·=·tiger ·?·dangerous· :·cat ·?·cute· :·boring; d·=·roses·?·red· :·violets·?·blue· :·so_are_you; }
{ ····a·=·i ········?·"am" ········:·you ············?·"are" ············:·"is"; ····b·=·error ········?·red ········:·warning ············?·yellow ············:·green; ····c·=·tiger ········?·dangerous ········:·cat ············?·cute ············:·boring; ····d·=·roses ········?·red ········:·violets ············?·blue ············:·so_are_you; }
Before formatting After formatting, simple_wrap
{ a·=·i·?·"am"·:·you·?·"are"·:·"is"; b·=·error·?·red·: ·warning·?·yellow·: ·green; c·=·tiger ·?·dangerous· :·cat ·?·cute· :·boring; d·=·roses·?·red· :·violets·?·blue· :·so_are_you; }
{ ····a·=·i·?·"am"·:·you·?·"are" ········:·"is"; ····b·=·error·?·red·: ········warning·?·yellow·: ········green; ····c·=·tiger ········?·dangerous ········:·cat ············?·cute ············:·boring; ····d·=·roses·?·red ········:·violets·?·blue ········:·so_are_you; }
Before formatting After formatting, autodetect
{ a·=·i·?·"am"·:·you·?·"are"·:·"is"; b·=·error·?·red·: ·warning·?·yellow·: ·green; c·=·tiger ·?·dangerous· :·cat ·?·cute· :·boring; d·=·roses·?·red· :·violets·?·blue· :·so_are_you; }
{ ····a·=·i·?·"am"·: ········you·?·"are"·:·"is"; ····b·=·error·?·red·: ········warning·?·yellow·: ········green; ····c·=·tiger ········?·dangerous ········:·cat ············?·cute ············:·boring; ····d·=·roses·?·red ········:·violets·?·blue ········:·so_are_you; }

Arrangement of LINQ Expressions

Wrap LINQ expressions

Property names:

[resharper_]csharp_wrap_linq_expressions, [resharper_]wrap_linq_expressions

Possible values:

  • chop_always: Chop always
  • chop_if_long: Chop if long or multiline
  • wrap_if_long: Simple wrap

Examples:

chop_always
var·result·=·from·x·in·list ····where·cond(x) ····select·x;
chop_if_long
var·result·=·from·x·in·list ····where·cond(x) ····select·x;
wrap_if_long
var·result·=·from·x·in·list ····where·cond(x)·select·x;
Last modified: 16 April 2018