@@ -5,19 +5,286 @@ insert_final_newline = true
5
5
indent_style = space
6
6
indent_size = 4
7
7
trim_trailing_whitespace = true
8
+ dotnet_style_allow_multiple_blank_lines_experimental = true :silent
8
9
9
10
[* .{csproj,md,props,targets,yml} ]
10
11
indent_size = 2
11
12
12
13
[* .cs ]
14
+ # ### Core EditorConfig Options ####
13
15
14
- # IDE0063: Use simple 'using' statement
15
- csharp_prefer_simple_using_statement = false
16
+ # Indentation and spacing
17
+ indent_size = 4
18
+ indent_style = space
19
+ tab_width = 4
20
+
21
+ # New line preferences
22
+ end_of_line = crlf
23
+
24
+ # ### .NET Code Actions ####
25
+
26
+ # Type members
27
+ dotnet_hide_advanced_members = false
28
+ dotnet_member_insertion_location = with_other_members_of_the_same_kind
29
+ dotnet_property_generation_behavior = prefer_auto_properties
30
+
31
+ # Symbol search
32
+ dotnet_search_reference_assemblies = true
33
+
34
+ # Organize usings
35
+ dotnet_separate_import_directive_groups = true
36
+ dotnet_sort_system_directives_first = true
37
+ file_header_template = Licensed to the .NET Foundation under one or more agreements.\nThe .NET Foundation licenses this file to you under the MIT license.\nSee the LICENSE.txt file in the project root for more information.
38
+
39
+ # this. and Me. preferences
40
+ dotnet_style_qualification_for_field = false :silent
41
+ dotnet_style_qualification_for_property = false :silent
42
+ dotnet_style_qualification_for_method = false :silent
43
+ dotnet_style_qualification_for_event = false :silent
44
+
45
+ # Language keywords vs BCL types preferences
46
+ dotnet_style_predefined_type_for_locals_parameters_members = true :silent
47
+ dotnet_style_predefined_type_for_member_access = true :silent
48
+
49
+ # Parentheses preferences
50
+ dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
51
+ dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
52
+ dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
53
+ dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
54
+
55
+ # Modifier preferences
56
+ dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
57
+
58
+ # Expression-level preferences
59
+ dotnet_prefer_system_hash_code = true :suggestion
60
+ dotnet_style_coalesce_expression = true :suggestion
61
+ dotnet_style_collection_initializer = true :suggestion
62
+ dotnet_style_explicit_tuple_names = true :suggestion
63
+ dotnet_style_namespace_match_folder = true :suggestion
64
+ dotnet_style_null_propagation = true :suggestion
65
+ dotnet_style_object_initializer = true :suggestion
66
+ dotnet_style_operator_placement_when_wrapping = beginning_of_line
67
+ dotnet_style_prefer_auto_properties = true :silent
68
+ dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion
69
+ dotnet_style_prefer_compound_assignment = true :suggestion
70
+ dotnet_style_prefer_conditional_expression_over_assignment = true :silent
71
+ dotnet_style_prefer_conditional_expression_over_return = true :silent
72
+ dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed:suggestion
73
+ dotnet_style_prefer_inferred_anonymous_type_member_names = true :suggestion
74
+ dotnet_style_prefer_inferred_tuple_names = true :suggestion
75
+ dotnet_style_prefer_is_null_check_over_reference_equality_method = true :suggestion
76
+ dotnet_style_prefer_simplified_boolean_expressions = true :suggestion
77
+ dotnet_style_prefer_simplified_interpolation = true :suggestion
78
+
79
+ # Field preferences
80
+ dotnet_style_readonly_field = true :suggestion
81
+
82
+ # Parameter preferences
83
+ dotnet_code_quality_unused_parameters = all:warning
84
+
85
+ # Suppression preferences
86
+ dotnet_remove_unnecessary_suppression_exclusions = none
87
+
88
+ # New line preferences
89
+ dotnet_style_allow_multiple_blank_lines_experimental = true :silent
90
+ dotnet_style_allow_statement_immediately_after_block_experimental = true :silent
91
+
92
+ # ### C# Coding Conventions ####
93
+
94
+ # var preferences
95
+ csharp_style_var_elsewhere = false :silent
96
+ csharp_style_var_for_built_in_types = false :silent
97
+ csharp_style_var_when_type_is_apparent = false :silent
98
+
99
+ # Expression-bodied members
100
+ csharp_style_expression_bodied_accessors = true :silent
101
+ csharp_style_expression_bodied_constructors = false :silent
102
+ csharp_style_expression_bodied_indexers = true :silent
103
+ csharp_style_expression_bodied_lambdas = true :silent
104
+ csharp_style_expression_bodied_local_functions = false :silent
105
+ csharp_style_expression_bodied_methods = false :silent
106
+ csharp_style_expression_bodied_operators = false :silent
107
+ csharp_style_expression_bodied_properties = true :silent
108
+
109
+ # Pattern matching preferences
110
+ csharp_style_pattern_matching_over_as_with_null_check = true :suggestion
111
+ csharp_style_pattern_matching_over_is_with_cast_check = true :suggestion
112
+ csharp_style_prefer_extended_property_pattern = true :suggestion
113
+ csharp_style_prefer_not_pattern = true :suggestion
114
+ csharp_style_prefer_pattern_matching = true :silent
115
+ csharp_style_prefer_switch_expression = true :suggestion
116
+
117
+ # Null-checking preferences
118
+ csharp_style_conditional_delegate_call = true :suggestion
119
+
120
+ # Modifier preferences
121
+ csharp_prefer_static_anonymous_function = true :suggestion
122
+ csharp_prefer_static_local_function = true :suggestion
123
+ csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
124
+ csharp_style_prefer_readonly_struct = true :suggestion
125
+ csharp_style_prefer_readonly_struct_member = true :suggestion
126
+
127
+ # Code-block preferences
128
+ csharp_prefer_braces = true :silent
129
+ csharp_prefer_simple_using_statement = false :suggestion
130
+ csharp_prefer_system_threading_lock = true :suggestion
131
+ csharp_style_namespace_declarations = block_scoped:silent
132
+ csharp_style_prefer_method_group_conversion = true :silent
133
+ csharp_style_prefer_primary_constructors = true :suggestion
134
+ csharp_style_prefer_top_level_statements = true :silent
135
+
136
+ # Expression-level preferences
137
+ csharp_prefer_simple_default_expression = true :suggestion
138
+ csharp_style_deconstructed_variable_declaration = true :suggestion
139
+ csharp_style_implicit_object_creation_when_type_is_apparent = true :suggestion
140
+ csharp_style_inlined_variable_declaration = true :suggestion
141
+ csharp_style_prefer_index_operator = true :suggestion
142
+ csharp_style_prefer_local_over_anonymous_function = true :suggestion
143
+ csharp_style_prefer_null_check_over_type_check = true :suggestion
144
+ csharp_style_prefer_range_operator = true :suggestion
145
+ csharp_style_prefer_tuple_swap = true :suggestion
146
+ csharp_style_prefer_utf8_string_literals = true :suggestion
147
+ csharp_style_throw_expression = true :suggestion
148
+ csharp_style_unused_value_assignment_preference = discard_variable:suggestion
149
+ csharp_style_unused_value_expression_statement_preference = discard_variable:silent
150
+
151
+ # 'using' directive preferences
152
+ csharp_using_directive_placement = outside_namespace:silent
153
+
154
+ # New line preferences
155
+ csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true :silent
156
+ csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true :silent
157
+ csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true :silent
158
+ csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true :silent
159
+ csharp_style_allow_embedded_statements_on_same_line_experimental = true :silent
160
+
161
+ # ### C# Formatting Rules ####
162
+
163
+ # New line preferences
164
+ csharp_new_line_before_catch = true :silent
165
+ csharp_new_line_before_else = true :silent
166
+ csharp_new_line_before_finally = true :silent
167
+ csharp_new_line_before_members_in_anonymous_types = true :silent
168
+ csharp_new_line_before_members_in_object_initializers = true :silent
169
+ csharp_new_line_before_open_brace = all
170
+ csharp_new_line_between_query_expression_clauses = true :silent
171
+
172
+ # Indentation preferences
173
+ csharp_indent_block_contents = true :suggestion
174
+ csharp_indent_braces = false :suggestion
175
+ csharp_indent_case_contents = true :suggestion
176
+ csharp_indent_case_contents_when_block = true :suggestion
177
+ csharp_indent_labels = no_change
178
+ csharp_indent_switch_labels = true :suggestion
179
+
180
+ # Space preferences
181
+ csharp_space_after_cast = false :silent
182
+ csharp_space_after_colon_in_inheritance_clause = true :silent
183
+ csharp_space_after_comma = true :silent
184
+ csharp_space_after_dot = false :silent
185
+ csharp_space_after_keywords_in_control_flow_statements = true :silent
186
+ csharp_space_after_semicolon_in_for_statement = true :silent
187
+ csharp_space_around_binary_operators = before_and_after
188
+ csharp_space_around_declaration_statements = false :silent
189
+ csharp_space_before_colon_in_inheritance_clause = true :silent
190
+ csharp_space_before_comma = false :silent
191
+ csharp_space_before_dot = false :silent
192
+ csharp_space_before_open_square_brackets = false :silent
193
+ csharp_space_before_semicolon_in_for_statement = false :silent
194
+ csharp_space_between_empty_square_brackets = false :silent
195
+ csharp_space_between_method_call_empty_parameter_list_parentheses = false :silent
196
+ csharp_space_between_method_call_name_and_opening_parenthesis = false :silent
197
+ csharp_space_between_method_call_parameter_list_parentheses = false :silent
198
+ csharp_space_between_method_declaration_empty_parameter_list_parentheses = false :silent
199
+ csharp_space_between_method_declaration_name_and_open_parenthesis = false :silent
200
+ csharp_space_between_method_declaration_parameter_list_parentheses = false :silent
201
+ csharp_space_between_parentheses = false :silent
202
+ csharp_space_between_square_brackets = false :silent
203
+
204
+ # ### Naming styles ####
205
+
206
+ # Naming rules
207
+
208
+ dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
209
+ dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
210
+ dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
211
+
212
+ dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
213
+ dotnet_naming_rule.types_should_be_pascal_case.symbols = types
214
+ dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
215
+
216
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
217
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
218
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
219
+
220
+ # ### Naming styles ####
221
+
222
+ # Naming rules
223
+
224
+ dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
225
+ dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
226
+ dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
227
+
228
+ dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
229
+ dotnet_naming_rule.types_should_be_pascal_case.symbols = types
230
+ dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
231
+
232
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
233
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
234
+ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
235
+
236
+ dotnet_naming_rule.private_fields_underscored.severity = error
237
+ dotnet_naming_rule.private_fields_underscored.symbols = private_fields
238
+ dotnet_naming_rule.private_fields_underscored.style = underscored
239
+
240
+ dotnet_naming_rule.private_static_fields_none.severity = none
241
+ dotnet_naming_rule.private_static_fields_none.symbols = private_static_fields
242
+ dotnet_naming_rule.private_static_fields_none.style = underscored
243
+
244
+
245
+ # Symbol specifications
246
+
247
+ dotnet_naming_symbols.interface.applicable_kinds = interface
248
+ dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
249
+ dotnet_naming_symbols.interface.required_modifiers =
250
+
251
+ dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
252
+ dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
253
+ dotnet_naming_symbols.types.required_modifiers =
254
+
255
+ dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
256
+ dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
257
+ dotnet_naming_symbols.non_field_members.required_modifiers =
258
+
259
+ dotnet_naming_symbols.private_fields.applicable_kinds = field
260
+ dotnet_naming_symbols.private_fields.applicable_accessibilities = private
261
+
262
+ dotnet_naming_symbols.private_static_fields.applicable_kinds = field
263
+ dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private
264
+ dotnet_naming_symbols.private_static_fields.required_modifiers = static
265
+
266
+ # Naming styles
267
+
268
+ dotnet_naming_style.begins_with_i.required_prefix = I
269
+ dotnet_naming_style.begins_with_i.required_suffix =
270
+ dotnet_naming_style.begins_with_i.word_separator =
271
+ dotnet_naming_style.begins_with_i.capitalization = pascal_case
272
+
273
+ dotnet_naming_style.pascal_case.required_prefix =
274
+ dotnet_naming_style.pascal_case.required_suffix =
275
+ dotnet_naming_style.pascal_case.word_separator =
276
+ dotnet_naming_style.pascal_case.capitalization = pascal_case
277
+
278
+ dotnet_naming_style.underscored.capitalization =
279
+ dotnet_naming_style.underscored.required_prefix = _
280
+
281
+
282
+
283
+ # Analyzers
16
284
17
285
# CA2254: Template should be a static expression
18
286
# See https://github.com/dotnet/roslyn-analyzers/issues/5626
19
287
dotnet_diagnostic.CA2254.severity = none
20
288
21
289
# IDE0073: File header
22
290
dotnet_diagnostic.IDE0073.severity = warning
23
- file_header_template = Licensed to the .NET Foundation under one or more agreements.\nThe .NET Foundation licenses this file to you under the MIT license.\nSee the LICENSE.txt file in the project root for more information.
0 commit comments