Massive expansion of .editorconfig settings
Rob Mensching committed
Dec 12, 2021 at 10:41 UTC
70780b255fda918885de0718a317753344ab4f16
1 file changed
+238
-21
src/.editorconfig
+238
-21
@@ -7,31 +7,248 @@ root = true
7
8
[*]
9
charset = utf-8
10
-indent_style = space
10
+
11
+# Indentation and spacing
12
indent_size = 4
13
+indent_style = space
14
+tab_width = 4
15
trim_trailing_whitespace = true
16
14
-[*.{cs,vb}]
15
-dotnet_sort_system_directives_first = true
17
+# New line preferences
18
+end_of_line = crlf
19
+insert_final_newline = true
20
21
+# C# files
22
[*.cs]
18
-csharp_indent_case_contents = true : error
19
-csharp_indent_switch_labels = true : error
23
+
24
+#### .NET Coding Conventions ####
25
+
26
+# Organize usings
27
+dotnet_separate_import_directive_groups = false
28
+dotnet_sort_system_directives_first = true
29
+file_header_template = Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
30
+
31
+# Language keywords vs BCL types preferences
32
+dotnet_style_predefined_type_for_locals_parameters_members = true:error
33
+dotnet_style_predefined_type_for_member_access = false:error
34
+
35
+# Parentheses preferences
36
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
37
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
38
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary
39
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
40
+
41
+# Modifier preferences
42
+dotnet_style_require_accessibility_modifiers = for_non_interface_members
43
+
44
+# Expression-level preferences
45
+dotnet_style_coalesce_expression = true:warning
46
+dotnet_style_collection_initializer = true
47
+dotnet_style_explicit_tuple_names = true
48
+dotnet_style_namespace_match_folder = true
49
+dotnet_style_null_propagation = true:warning
50
+dotnet_style_object_initializer = true
51
+dotnet_style_operator_placement_when_wrapping = beginning_of_line
52
+dotnet_style_prefer_auto_properties = true:error
53
+dotnet_style_prefer_compound_assignment = true
54
+dotnet_style_prefer_conditional_expression_over_assignment = true
55
+dotnet_style_prefer_conditional_expression_over_return = true
56
+dotnet_style_prefer_inferred_anonymous_type_member_names = true
57
+dotnet_style_prefer_inferred_tuple_names = true
58
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
59
+dotnet_style_prefer_simplified_boolean_expressions = true
60
+dotnet_style_prefer_simplified_interpolation = true
61
+
62
+# Field preferences
63
+dotnet_style_readonly_field = true:error
64
+
65
+# Parameter preferences
66
+dotnet_code_quality_unused_parameters = non_public:warning
67
+
68
+# Suppression preferences
69
+dotnet_remove_unnecessary_suppression_exclusions = none
70
+
71
+# New line preferences
72
+dotnet_style_allow_multiple_blank_lines_experimental = true
73
+dotnet_style_allow_statement_immediately_after_block_experimental = true:suggestion
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 =when_on_single_line:silent
84
+csharp_style_expression_bodied_constructors = false:error
85
+csharp_style_expression_bodied_indexers =when_on_single_line:silent
86
+csharp_style_expression_bodied_lambdas = true
87
+csharp_style_expression_bodied_local_functions = false:error
88
+csharp_style_expression_bodied_methods =false:error
89
+csharp_style_expression_bodied_operators =false:error
90
+csharp_style_expression_bodied_properties =when_on_single_line:silent
91
+
92
+# Pattern matching preferences
93
+csharp_style_pattern_matching_over_as_with_null_check = true:error
94
+csharp_style_pattern_matching_over_is_with_cast_check = true:error
95
+csharp_style_prefer_not_pattern = true:warning
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:warning
101
+
102
+# Modifier preferences
103
+csharp_prefer_static_local_function = true:error
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 = false
109
+
110
+# Expression-level preferences
111
+csharp_prefer_simple_default_expression = true
112
+csharp_style_deconstructed_variable_declaration =true:silent
113
+csharp_style_implicit_object_creation_when_type_is_apparent = true
114
+csharp_style_inlined_variable_declaration = true:warning
115
+csharp_style_pattern_local_over_anonymous_function = true
116
+csharp_style_prefer_index_operator = true
117
+csharp_style_prefer_range_operator =true:silent
118
+csharp_style_throw_expression = true
119
+csharp_style_unused_value_assignment_preference = discard_variable:error
120
+csharp_style_unused_value_expression_statement_preference = discard_variable
121
+
122
+# 'using' directive preferences
123
+csharp_using_directive_placement = inside_namespace:error
124
+
125
+# New line preferences
126
+csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true
127
+csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:warning
128
+csharp_style_allow_embedded_statements_on_same_line_experimental = true
129
+
130
+#### C# Formatting Rules ####
131
+
132
+# New line preferences
133
+csharp_new_line_before_catch = true
134
+csharp_new_line_before_else = true
135
+csharp_new_line_before_finally = true
136
+csharp_new_line_before_members_in_anonymous_types = true
137
+csharp_new_line_before_members_in_object_initializers = true
138
csharp_new_line_before_open_brace = all
21
-csharp_prefer_braces = true : error
22
-csharp_style_expression_bodied_methods = when_on_single_line : suggestion
23
-csharp_style_expression_bodied_constructors = when_on_single_line : suggestion
24
-csharp_style_expression_bodied_operators = when_on_single_line : suggestion
25
-csharp_style_expression_bodied_properties = when_on_single_line : suggestion
26
-csharp_style_expression_bodied_indexers = when_on_single_line : suggestion
27
-csharp_style_expression_bodied_accessors = when_on_single_line : suggestion
28
-csharp_style_var_elsewhere = true : suggestion
29
-csharp_style_var_for_built_in_types = true : suggestion
30
-csharp_style_var_when_type_is_apparent = true : suggestion
31
-dotnet_style_qualification_for_event = true : error
32
-dotnet_style_qualification_for_field = true : error
33
-dotnet_style_qualification_for_method = true : error
34
-dotnet_style_qualification_for_property = true : error
35
-
36
-[*.targets]
139
+csharp_new_line_between_query_expression_clauses = true
140
+
141
+# Indentation preferences
142
+csharp_indent_block_contents = true
143
+csharp_indent_braces = false
144
+csharp_indent_case_contents = true
145
+csharp_indent_case_contents_when_block =false
146
+csharp_indent_labels = one_less_than_current
147
+csharp_indent_switch_labels =true
148
+
149
+# Space preferences
150
+csharp_space_after_cast = false
151
+csharp_space_after_colon_in_inheritance_clause = true
152
+csharp_space_after_comma = true
153
+csharp_space_after_dot = false
154
+csharp_space_after_keywords_in_control_flow_statements = true
155
+csharp_space_after_semicolon_in_for_statement = true
156
+csharp_space_around_binary_operators = before_and_after
157
+csharp_space_around_declaration_statements = false
158
+csharp_space_before_colon_in_inheritance_clause = true
159
+csharp_space_before_comma = false
160
+csharp_space_before_dot = false
161
+csharp_space_before_open_square_brackets = false
162
+csharp_space_before_semicolon_in_for_statement = false
163
+csharp_space_between_empty_square_brackets = false
164
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
165
+csharp_space_between_method_call_name_and_opening_parenthesis = false
166
+csharp_space_between_method_call_parameter_list_parentheses = false
167
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
168
+csharp_space_between_method_declaration_name_and_open_parenthesis = false
169
+csharp_space_between_method_declaration_parameter_list_parentheses = false
170
+csharp_space_between_parentheses = false
171
+csharp_space_between_square_brackets = false
172
+
173
+# Wrapping preferences
174
+csharp_preserve_single_line_blocks = true
175
+csharp_preserve_single_line_statements = true
176
+
177
+#### Naming styles ####
178
+
179
+# Naming rules
180
+
181
+dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
182
+dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
183
+dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
184
+
185
+dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
186
+dotnet_naming_rule.types_should_be_pascal_case.symbols = types
187
+dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
188
+
189
+dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
190
+dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
191
+dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
192
+
193
+dotnet_naming_rule.const_field_members_should_be_pascal_case.severity = suggestion
194
+dotnet_naming_rule.const_field_members_should_be_pascal_case.symbols = const_fields
195
+dotnet_naming_rule.const_field_members_should_be_pascal_case.style = pascal_case
196
+
197
+dotnet_naming_rule.const_field_members_should_be_pascal_case.severity = suggestion
198
+dotnet_naming_rule.const_field_members_should_be_pascal_case.symbols = static_fields
199
+dotnet_naming_rule.const_field_members_should_be_pascal_case.style = pascal_case
200
+
201
+# dotnet_naming_rule.private_members_with_underscore.symbols = private_fields
202
+# dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore
203
+# dotnet_naming_rule.private_members_with_underscore.severity = suggestion
204
+
205
+# Symbol specifications
206
+
207
+dotnet_naming_symbols.interface.applicable_kinds = interface
208
+dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
209
+dotnet_naming_symbols.interface.required_modifiers =
210
+
211
+dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
212
+dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
213
+dotnet_naming_symbols.types.required_modifiers =
214
+
215
+dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
216
+dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
217
+dotnet_naming_symbols.non_field_members.required_modifiers =
218
+
219
+dotnet_naming_symbols.private_fields.applicable_kinds = field
220
+dotnet_naming_symbols.private_fields.applicable_accessibilities = private
221
+
222
+dotnet_naming_symbols.const_fields.applicable_kinds = field
223
+dotnet_naming_symbols.const_fields.required_modifiers = const
224
+
225
+dotnet_naming_symbols.static_fields.applicable_kinds = field
226
+dotnet_naming_symbols.static_fields.required_modifiers = static
227
+
228
+# Naming styles
229
+
230
+dotnet_naming_style.pascal_case.required_prefix =
231
+dotnet_naming_style.pascal_case.required_suffix =
232
+dotnet_naming_style.pascal_case.word_separator =
233
+dotnet_naming_style.pascal_case.capitalization = pascal_case
234
+
235
+dotnet_naming_style.begins_with_i.required_prefix = I
236
+dotnet_naming_style.begins_with_i.required_suffix =
237
+dotnet_naming_style.begins_with_i.word_separator =
238
+dotnet_naming_style.begins_with_i.capitalization = pascal_case
239
+
240
+dotnet_naming_style.prefix_underscore.capitalization = camel_case
241
+dotnet_naming_style.prefix_underscore.required_prefix = _
242
+
243
+
244
+[*.{cs,vb}]
245
+
246
+# this. and Me. preferences
247
+dotnet_style_qualification_for_event = true:error
248
+dotnet_style_qualification_for_field = true:error
249
+dotnet_style_qualification_for_method = true:error
250
+dotnet_style_qualification_for_property = true:error
251
+
252
+
253
+[*.{props,targets,csproj,wixproj,vcxproj}]
254
indent_size = 2