1+ root = true
2+ # Remove the line below if you want to inherit .editorconfig settings from higher directories
3+ [* .json ]
4+
5+ indent_size = 4
6+ indent_style = space
7+ tab_width = 4
8+
9+ # C# files
10+ [* .cs ]
11+
12+ # ### Core EditorConfig Options ####
13+ charset = utf-8-bom
14+
15+ # Indentation and spacing
16+ indent_size = 4
17+ indent_style = space
18+ tab_width = 4
19+
20+ # New line preferences
21+ end_of_line = crlf
22+ insert_final_newline = false
23+
24+ # ### .NET Coding Conventions ####
25+
26+ # Organize usings
27+ dotnet_separate_import_directive_groups = false
28+ dotnet_sort_system_directives_first = false
29+
30+ # this. and Me. preferences
31+ dotnet_style_qualification_for_event = false :suggestion
32+ dotnet_style_qualification_for_field = false
33+ dotnet_style_qualification_for_method = false :suggestion
34+ dotnet_style_qualification_for_property = false :suggestion
35+
36+ # Language keywords vs BCL types preferences
37+ dotnet_style_predefined_type_for_locals_parameters_members = true
38+ dotnet_style_predefined_type_for_member_access = true
39+
40+ # Parentheses preferences
41+ dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
42+ dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
43+ dotnet_style_parentheses_in_other_operators = never_if_unnecessary
44+ dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
45+
46+ # Modifier preferences
47+ dotnet_style_require_accessibility_modifiers = for_non_interface_members
48+
49+ # Expression-level preferences
50+ dotnet_style_coalesce_expression = true
51+ dotnet_style_collection_initializer = true
52+ dotnet_style_explicit_tuple_names = true
53+ dotnet_style_null_propagation = true
54+ dotnet_style_object_initializer = true
55+ dotnet_style_operator_placement_when_wrapping = beginning_of_line
56+ dotnet_style_prefer_auto_properties = true :error
57+ dotnet_style_prefer_compound_assignment = true
58+ dotnet_style_prefer_conditional_expression_over_assignment = true :suggestion
59+ dotnet_style_prefer_conditional_expression_over_return = true :suggestion
60+ dotnet_style_prefer_inferred_anonymous_type_member_names = true :error
61+ dotnet_style_prefer_inferred_tuple_names = true
62+ dotnet_style_prefer_is_null_check_over_reference_equality_method = true
63+ dotnet_style_prefer_simplified_boolean_expressions = true
64+ dotnet_style_prefer_simplified_interpolation = true
65+
66+ # Field preferences
67+ dotnet_style_readonly_field = true :error
68+
69+ # Parameter preferences
70+ dotnet_code_quality_unused_parameters = all
71+
72+ # Suppression preferences
73+ dotnet_remove_unnecessary_suppression_exclusions = none
74+
75+ # ### C# Coding Conventions ####
76+
77+ # var preferences
78+ csharp_style_var_elsewhere = true :suggestion
79+ csharp_style_var_for_built_in_types = true :suggestion
80+ csharp_style_var_when_type_is_apparent = true :suggestion
81+
82+ # Expression-bodied members
83+ csharp_style_expression_bodied_accessors = true :suggestion
84+ csharp_style_expression_bodied_constructors = true :suggestion
85+ csharp_style_expression_bodied_indexers = true :suggestion
86+ csharp_style_expression_bodied_lambdas = true
87+ csharp_style_expression_bodied_local_functions = false
88+ csharp_style_expression_bodied_methods = true :suggestion
89+ csharp_style_expression_bodied_operators = true :suggestion
90+ csharp_style_expression_bodied_properties = true :suggestion
91+
92+ # Pattern matching preferences
93+ csharp_style_pattern_matching_over_as_with_null_check = true
94+ csharp_style_pattern_matching_over_is_with_cast_check = true
95+ csharp_style_prefer_not_pattern = true
96+ csharp_style_prefer_pattern_matching = true
97+ csharp_style_prefer_switch_expression = true
98+
99+ # Null-checking preferences
100+ csharp_style_conditional_delegate_call = true
101+
102+ # Modifier preferences
103+ csharp_prefer_static_local_function = true
104+ csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
105+
106+ # Code-block preferences
107+ csharp_prefer_braces = true :error
108+ csharp_prefer_simple_using_statement = true
109+
110+ # Expression-level preferences
111+ csharp_prefer_simple_default_expression = true
112+ csharp_style_deconstructed_variable_declaration = true
113+ csharp_style_implicit_object_creation_when_type_is_apparent = true
114+ csharp_style_inlined_variable_declaration = true
115+ csharp_style_pattern_local_over_anonymous_function = true
116+ csharp_style_prefer_index_operator = true
117+ csharp_style_prefer_range_operator = true
118+ csharp_style_throw_expression = true
119+ csharp_style_unused_value_assignment_preference = discard_variable
120+ csharp_style_unused_value_expression_statement_preference = discard_variable
121+
122+ # 'using' directive preferences
123+ csharp_using_directive_placement = outside_namespace
124+
125+ # ### C# Formatting Rules ####
126+
127+ # New line preferences
128+ csharp_new_line_before_catch = true
129+ csharp_new_line_before_else = true
130+ csharp_new_line_before_finally = true
131+ csharp_new_line_before_members_in_anonymous_types = true
132+ csharp_new_line_before_members_in_object_initializers = true
133+ csharp_new_line_before_open_brace = all
134+ csharp_new_line_between_query_expression_clauses = true
135+
136+ # Indentation preferences
137+ csharp_indent_block_contents = true
138+ csharp_indent_braces = false
139+ csharp_indent_case_contents = true
140+ csharp_indent_case_contents_when_block = true
141+ csharp_indent_labels = no_change
142+ csharp_indent_switch_labels = true
143+
144+ # Space preferences
145+ csharp_space_after_cast = false
146+ csharp_space_after_colon_in_inheritance_clause = true
147+ csharp_space_after_comma = true
148+ csharp_space_after_dot = false
149+ csharp_space_after_keywords_in_control_flow_statements = true
150+ csharp_space_after_semicolon_in_for_statement = true
151+ csharp_space_around_binary_operators = before_and_after
152+ csharp_space_around_declaration_statements = false
153+ csharp_space_before_colon_in_inheritance_clause = true
154+ csharp_space_before_comma = false
155+ csharp_space_before_dot = false
156+ csharp_space_before_open_square_brackets = false
157+ csharp_space_before_semicolon_in_for_statement = false
158+ csharp_space_between_empty_square_brackets = false
159+ csharp_space_between_method_call_empty_parameter_list_parentheses = false
160+ csharp_space_between_method_call_name_and_opening_parenthesis = false
161+ csharp_space_between_method_call_parameter_list_parentheses = false
162+ csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
163+ csharp_space_between_method_declaration_name_and_open_parenthesis = false
164+ csharp_space_between_method_declaration_parameter_list_parentheses = false
165+ csharp_space_between_parentheses = false
166+ csharp_space_between_square_brackets = false
167+
168+ # Wrapping preferences
169+ csharp_preserve_single_line_blocks = true
170+ csharp_preserve_single_line_statements = true
171+
172+ # ### Naming styles ####
173+
174+ # Naming rules
175+
176+ dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
177+ dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
178+ dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
179+
180+ dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
181+ dotnet_naming_rule.types_should_be_pascal_case.symbols = types
182+ dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
183+
184+ dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
185+ dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
186+ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
187+
188+ # Symbol specifications
189+
190+ dotnet_naming_symbols.interface.applicable_kinds = interface
191+ dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
192+ dotnet_naming_symbols.interface.required_modifiers =
193+
194+ dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
195+ dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
196+ dotnet_naming_symbols.types.required_modifiers =
197+
198+ dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
199+ dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
200+ dotnet_naming_symbols.non_field_members.required_modifiers =
201+
202+ # Naming styles
203+
204+ dotnet_naming_style.pascal_case.required_prefix =
205+ dotnet_naming_style.pascal_case.required_suffix =
206+ dotnet_naming_style.pascal_case.word_separator =
207+ dotnet_naming_style.pascal_case.capitalization = pascal_case
208+
209+ dotnet_naming_style.begins_with_i.required_prefix = I
210+ dotnet_naming_style.begins_with_i.required_suffix =
211+ dotnet_naming_style.begins_with_i.word_separator =
212+ dotnet_naming_style.begins_with_i.capitalization = pascal_case
213+
214+ # Instance fields are camelCase and start with _
215+ dotnet_naming_rule.instance_fields_should_be_camel_case.severity = hint
216+ dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields
217+ dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style
218+
219+ dotnet_naming_symbols.instance_fields.applicable_kinds = field
220+
221+ dotnet_naming_style.instance_field_style.capitalization = camel_case
222+ dotnet_naming_style.instance_field_style.required_prefix = _
223+
224+ # ReSharper properties
225+ max_line_length = 200
226+ resharper_csharp_max_line_length = 200
227+ resharper_csharp_wrap_after_declaration_lpar = true
228+ resharper_csharp_wrap_extends_list_style = chop_if_long
229+ resharper_csharp_wrap_lines = false
230+ resharper_max_attribute_length_for_same_line = 300
231+ resharper_place_type_constraints_on_same_line = true
232+ resharper_wrap_before_arrow_with_expressions = true
233+ resharper_wrap_before_extends_colon = false
0 commit comments