EditorConfig properties for C#: Syntax Style
This page lists custom ReSharper EditorConfig properties that you can use to configure code syntax style rules. Note that some properties apply to one language while others apply to several languages at once. However, for each multi-language property there is a property that can override it for a specific language, for example, default_private_modifier
and csharp_default_private_modifier
.
tip
ReSharper also supports most frequently used .NET-coding-convention EditorConfig properties.
tip
Formatting preferences listed on this page can be also configured visually, on the Code Editing | C# | Formatting Style | Syntax Style page of ReSharper options Alt+R, O.
[resharper_]csharp_for_built_in_types
, [resharper_]for_built_in_types
use_var
: Use 'var'use_var_when_evident
: Use 'var' when evidentuse_explicit_type
: Use explicit type
use_var |
---|
|
use_var_when_evident |
---|
|
use_explicit_type |
---|
|
[resharper_]csharp_for_simple_types
, [resharper_]for_simple_types
use_var
: Use 'var'use_var_when_evident
: Use 'var' when evidentuse_explicit_type
: Use explicit type
use_var |
---|
|
use_var_when_evident |
---|
|
use_explicit_type |
---|
|
[resharper_]csharp_for_other_types
, [resharper_]for_other_types
use_var
: Use 'var'use_var_when_evident
: Use 'var' when evidentuse_explicit_type
: Use explicit type
use_var |
---|
|
use_var_when_evident |
---|
|
use_explicit_type |
---|
|
[resharper_]csharp_use_roslyn_logic_for_evident_types
, [resharper_]use_roslyn_logic_for_evident_types
true | false
[resharper_]csharp_prefer_separate_deconstructed_variables_declaration
, [resharper_]prefer_separate_deconstructed_variables_declaration
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_prefer_explicit_discard_declaration
, [resharper_]prefer_explicit_discard_declaration
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_instance_members_qualify_members
, [resharper_]instance_members_qualify_members
none
field
property
event
method
all
none |
---|
|
field |
---|
|
property |
---|
|
event |
---|
|
method |
---|
|
all |
---|
|
[resharper_]csharp_instance_members_qualify_declared_in
, [resharper_]instance_members_qualify_declared_in
this_class
: the same classbase_class
: the base class
this_class |
---|
|
base_class |
---|
|
[resharper_]csharp_static_members_qualify_with
, [resharper_]static_members_qualify_with
current_type
: Current typedeclared_type
: Declared-in type
current_type |
---|
|
declared_type |
---|
|
[resharper_]csharp_static_members_qualify_members
, [resharper_]static_members_qualify_members
none
field
property
event
method
all
none |
---|
|
field |
---|
|
property |
---|
|
event |
---|
|
method |
---|
|
all |
---|
|
[resharper_]csharp_builtin_type_reference_style
, [resharper_]builtin_type_reference_style
use_keyword
: Keyworduse_clr_name
: CLR type name
use_keyword |
---|
|
use_clr_name |
---|
|
[resharper_]csharp_builtin_type_reference_for_member_access_style
, [resharper_]builtin_type_reference_for_member_access_style
use_keyword
: Keyworduse_clr_name
: CLR type name
use_keyword |
---|
|
use_clr_name |
---|
|
[resharper_]csharp_builtin_type_apply_to_native_integer
, [resharper_]builtin_type_apply_to_native_integer
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_prefer_qualified_reference
, [resharper_]prefer_qualified_reference
true | false
[resharper_]csharp_add_imports_to_deepest_scope
, [resharper_]add_imports_to_deepest_scope
true | false
dotnet_sort_system_directives_first
, [resharper_]csharp_sort_usings_with_system_first
, [resharper_]sort_usings_with_system_first
true | false
[resharper_]csharp_qualified_using_at_nested_scope
, [resharper_]qualified_using_at_nested_scope
true | false
[resharper_]csharp_allow_alias
, [resharper_]allow_alias
true | false
[resharper_]csharp_can_use_global_alias
, [resharper_]can_use_global_alias
true | false
[resharper_]csharp_default_private_modifier
, [resharper_]default_private_modifier
explicit
: Explicitimplicit
: Implicit
Before formatting | After formatting, explicit |
---|---|
|
|
Before formatting | After formatting, implicit |
---|---|
|
|
[resharper_]csharp_default_internal_modifier
, [resharper_]default_internal_modifier
explicit
: Explicitimplicit
: Implicit
Before formatting | After formatting, explicit |
---|---|
|
|
Before formatting | After formatting, implicit |
---|---|
|
|
[resharper_]csharp_modifiers_order
, [resharper_]modifiers_order
[resharper_]csharp_arguments_skip_single
, [resharper_]arguments_skip_single
true | false
[resharper_]csharp_arguments_literal
, [resharper_]arguments_literal
positional
: Positional argumentnamed
: Named argument
Before formatting | After formatting, positional |
---|---|
|
|
Before formatting | After formatting, named |
---|---|
|
|
[resharper_]csharp_arguments_string_literal
, [resharper_]arguments_string_literal
positional
: Positional argumentnamed
: Named argument
Before formatting | After formatting, positional |
---|---|
|
|
Before formatting | After formatting, named |
---|---|
|
|
[resharper_]csharp_arguments_named
, [resharper_]arguments_named
positional
: Positional argumentnamed
: Named argument
Before formatting | After formatting, positional |
---|---|
|
|
Before formatting | After formatting, named |
---|---|
|
|
[resharper_]csharp_arguments_anonymous_function
, [resharper_]arguments_anonymous_function
positional
: Positional argumentnamed
: Named argument
Before formatting | After formatting, positional |
---|---|
|
|
Before formatting | After formatting, named |
---|---|
|
|
[resharper_]csharp_arguments_other
, [resharper_]arguments_other
positional
: Positional argumentnamed
: Named argument
Before formatting | After formatting, positional |
---|---|
|
|
Before formatting | After formatting, named |
---|---|
|
|
[resharper_]csharp_parentheses_redundancy_style
, [resharper_]parentheses_redundancy_style
remove
: Alwaysremove_if_not_clarifies_precedence
: If not clarifies precedence
Before formatting | After formatting, remove |
---|---|
|
|
Before formatting | After formatting, remove_if_not_clarifies_precedence |
---|---|
|
|
[resharper_]csharp_parentheses_non_obvious_operations
, [resharper_]parentheses_non_obvious_operations
none
multiplicative
: * / %additive
: + -arithmetic
: * / % + -shift
: << >>relational
: < > <= >=equality
: == !=bitwise_and
: &bitwise_exclusive_or
: ^bitwise_inclusive_or
: |bitwise
: & ^ |conditional_and
: &&conditional_or
: ||conditional
: && ||null_coalescing
: ??range
: ..
Before formatting | After formatting, none |
---|---|
|
|
Before formatting | After formatting, multiplicative |
---|---|
|
|
Before formatting | After formatting, additive |
---|---|
|
|
Before formatting | After formatting, arithmetic |
---|---|
|
|
Before formatting | After formatting, shift |
---|---|
|
|
Before formatting | After formatting, relational |
---|---|
|
|
Before formatting | After formatting, equality |
---|---|
|
|
Before formatting | After formatting, bitwise_and |
---|---|
|
|
Before formatting | After formatting, bitwise_exclusive_or |
---|---|
|
|
Before formatting | After formatting, bitwise_inclusive_or |
---|---|
|
|
Before formatting | After formatting, bitwise |
---|---|
|
|
Before formatting | After formatting, conditional_and |
---|---|
|
|
Before formatting | After formatting, conditional_or |
---|---|
|
|
Before formatting | After formatting, conditional |
---|---|
|
|
Before formatting | After formatting, null_coalescing |
---|---|
|
|
Before formatting | After formatting, range |
---|---|
|
|
[resharper_]csharp_parentheses_group_non_obvious_operations
, [resharper_]parentheses_group_non_obvious_operations
none
arithmetic
: * / % + - << >> & ^ |relational
: < > <= >= == !=conditional
: && || ??
Before formatting | After formatting, none |
---|---|
|
|
Before formatting | After formatting, arithmetic |
---|---|
|
|
Before formatting | After formatting, relational |
---|---|
|
|
Before formatting | After formatting, conditional |
---|---|
|
|
[resharper_]csharp_parentheses_same_type_operations
, [resharper_]parentheses_same_type_operations
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_braces_for_ifelse
, [resharper_]braces_for_ifelse
not_required
: Do not enforcenot_required_for_both
: Enforce if any part requires bracesrequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, not_required_for_both |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_for
, [resharper_]braces_for_for
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_foreach
, [resharper_]braces_for_foreach
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_while
, [resharper_]braces_for_while
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_dowhile
, [resharper_]braces_for_dowhile
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_using
, [resharper_]braces_for_using
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_lock
, [resharper_]braces_for_lock
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_for_fixed
, [resharper_]braces_for_fixed
not_required
: Do not enforcerequired
: Enforce alwaysrequired_for_multiline
: Enforce if body is multi-linerequired_for_multiline_statement
: Enforce if statement is multi-line
Before formatting | After formatting, not_required |
---|---|
|
|
Before formatting | After formatting, required |
---|---|
|
|
Before formatting | After formatting, required_for_multiline |
---|---|
|
|
Before formatting | After formatting, required_for_multiline_statement |
---|---|
|
|
[resharper_]csharp_braces_redundant
, [resharper_]braces_redundant
true | false
[resharper_]csharp_method_or_operator_body
, [resharper_]method_or_operator_body
expression_body
: Expression bodyblock_body
: Block body
Before formatting | After formatting, expression_body |
---|---|
|
|
Before formatting | After formatting, block_body |
---|---|
|
|
[resharper_]csharp_local_function_body
, [resharper_]local_function_body
expression_body
: Expression bodyblock_body
: Block body
Before formatting | After formatting, expression_body |
---|---|
|
|
Before formatting | After formatting, block_body |
---|---|
|
|
[resharper_]csharp_constructor_or_destructor_body
, [resharper_]constructor_or_destructor_body
expression_body
: Expression bodyblock_body
: Block body
Before formatting | After formatting, expression_body |
---|---|
|
|
Before formatting | After formatting, block_body |
---|---|
|
|
[resharper_]csharp_accessor_owner_body
, [resharper_]accessor_owner_body
expression_body
: Expression bodyaccessors_with_expression_body
: Accessors with expression bodyaccessors_with_block_body
: Accessors with block body
Before formatting | After formatting, expression_body |
---|---|
|
|
Before formatting | After formatting, accessors_with_expression_body |
---|---|
|
|
Before formatting | After formatting, accessors_with_block_body |
---|---|
|
|
[resharper_]csharp_namespace_body
, [resharper_]namespace_body
file_scoped
: File-scopedblock_scoped
: Block-scoped
Before formatting | After formatting, file_scoped |
---|---|
|
|
Before formatting | After formatting, block_scoped |
---|---|
|
|
[resharper_]csharp_use_heuristics_for_body_style
, [resharper_]use_heuristics_for_body_style
true | false
Before formatting | After formatting, true |
---|---|
|
|
Before formatting | After formatting, false |
---|---|
|
|
[resharper_]csharp_force_attribute_style
, [resharper_]force_attribute_style
join
: Joinseparate
: Separate
Before formatting | After formatting, join |
---|---|
|
|
Before formatting | After formatting, separate |
---|---|
|
|
[resharper_]csharp_trailing_comma_in_multiline_lists
, [resharper_]trailing_comma_in_multiline_lists
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_trailing_comma_in_singleline_lists
, [resharper_]trailing_comma_in_singleline_lists
true | false
true |
---|
|
false |
---|
|
[resharper_]csharp_object_creation_when_type_evident
, [resharper_]object_creation_when_type_evident
target_typed
: Omit type: 'new()'explicitly_typed
: Specify type: 'new T()'
target_typed |
---|
|
explicitly_typed |
---|
|
[resharper_]csharp_object_creation_when_type_not_evident
, [resharper_]object_creation_when_type_not_evident
target_typed
: Omit type: 'new()'explicitly_typed
: Specify type: 'new T()'
target_typed |
---|
|
explicitly_typed |
---|
|
[resharper_]csharp_default_value_when_type_evident
, [resharper_]default_value_when_type_evident
default_literal
: Omit type: 'default'default_expression
: Specify type: 'default(T)'
default_literal |
---|
|
default_expression |
---|
|
[resharper_]csharp_default_value_when_type_not_evident
, [resharper_]default_value_when_type_not_evident
default_literal
: Omit type: 'default'default_expression
: Specify type: 'default(T)'
default_literal |
---|
|
default_expression |
---|
|
[resharper_]csharp_null_checking_pattern_style
, [resharper_]null_checking_pattern_style
empty_recursive_pattern
: '{ }' patternnot_null_pattern
: 'not null' pattern
empty_recursive_pattern |
---|
|
not_null_pattern |
---|
|