/ src / .editorconfig
.editorconfig
  1  [*.cs]
  2  
  3  file_header_template = Copyright (c) Microsoft Corporation\r\nThe Microsoft Corporation licenses this file to you under the MIT license.\r\nSee the LICENSE file in the project root for more information.
  4  
  5  # SA1201: Elements should appear in the correct order
  6  dotnet_diagnostic.SA1201.severity = none
  7  
  8  # CA1303: Do not pass literals as localized parameters
  9  dotnet_diagnostic.CA1303.severity = suggestion
 10  
 11  # CA1051: Do not declare visible instance fields
 12  dotnet_code_quality.ca1051.exclude_structs = true
 13  csharp_prefer_simple_using_statement = true:suggestion
 14  csharp_prefer_braces = true:silent
 15  csharp_style_namespace_declarations = block_scoped:silent
 16  csharp_style_prefer_method_group_conversion = true:silent
 17  csharp_style_expression_bodied_methods = false:silent
 18  csharp_style_expression_bodied_constructors = false:silent
 19  csharp_style_expression_bodied_operators = false:silent
 20  csharp_style_expression_bodied_properties = when_on_single_line:suggestion
 21  csharp_style_expression_bodied_indexers = true:silent
 22  csharp_style_expression_bodied_accessors = true:silent
 23  csharp_style_expression_bodied_lambdas = true:silent
 24  csharp_style_expression_bodied_local_functions = false:silent
 25  csharp_style_throw_expression = true:suggestion
 26  csharp_indent_labels = one_less_than_current
 27  csharp_style_prefer_null_check_over_type_check = true:suggestion
 28  [*.{cs,vb}]
 29  #### Naming styles ####
 30  
 31  # Naming rules
 32  
 33  dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
 34  dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
 35  dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
 36  
 37  dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
 38  dotnet_naming_rule.types_should_be_pascal_case.symbols = types
 39  dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
 40  
 41  dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
 42  dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
 43  dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
 44  
 45  # Symbol specifications
 46  
 47  dotnet_naming_symbols.interface.applicable_kinds = interface
 48  dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
 49  dotnet_naming_symbols.interface.required_modifiers =
 50  
 51  dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
 52  dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
 53  dotnet_naming_symbols.types.required_modifiers =
 54  
 55  dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
 56  dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
 57  dotnet_naming_symbols.non_field_members.required_modifiers =
 58  
 59  # Naming styles
 60  
 61  dotnet_naming_style.begins_with_i.required_prefix = I
 62  dotnet_naming_style.begins_with_i.required_suffix =
 63  dotnet_naming_style.begins_with_i.word_separator =
 64  dotnet_naming_style.begins_with_i.capitalization = pascal_case
 65  
 66  dotnet_naming_style.pascal_case.required_prefix =
 67  dotnet_naming_style.pascal_case.required_suffix =
 68  dotnet_naming_style.pascal_case.word_separator =
 69  dotnet_naming_style.pascal_case.capitalization = pascal_case
 70  
 71  dotnet_style_coalesce_expression = true:suggestion
 72  dotnet_style_null_propagation = true:suggestion
 73  dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
 74  dotnet_style_prefer_auto_properties = true:silent
 75  dotnet_style_object_initializer = false:suggestion
 76  dotnet_style_collection_initializer = true:suggestion
 77  dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
 78  dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
 79  dotnet_style_prefer_conditional_expression_over_return = true:suggestion
 80  dotnet_style_explicit_tuple_names = true:suggestion
 81  dotnet_style_prefer_inferred_tuple_names = true:suggestion
 82  dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
 83  dotnet_style_prefer_compound_assignment = true:suggestion
 84  dotnet_style_prefer_simplified_interpolation = true:suggestion
 85  dotnet_style_namespace_match_folder = true:suggestion
 86  dotnet_style_operator_placement_when_wrapping = beginning_of_line
 87  tab_width = 4
 88  indent_size = 4
 89  end_of_line = crlf
 90  
 91  # IDE0065: using directive placement
 92  dotnet_diagnostic.IDE0065.severity = none
 93  
 94  # IDE0009: Add this or Me qualification
 95  dotnet_diagnostic.IDE0009.severity = none
 96  
 97  # IDE-based code analysis rules
 98  # IDE0005: Remove unnecessary import
 99  dotnet_diagnostic.IDE0005.severity = suggestion
100  
101  # IDE0008: Use explicit type instead of 'var'
102  dotnet_diagnostic.IDE0008.severity = silent
103  
104  # IDE0016: Use throw expression
105  dotnet_diagnostic.IDE0016.severity = suggestion
106  
107  # IDE0018: Inline variable declaration
108  dotnet_diagnostic.IDE0018.severity = suggestion
109  
110  # IDE0019: Use pattern matching
111  dotnet_diagnostic.IDE0019.severity = suggestion
112  
113  # IDE0021: Use expression body for constructors
114  dotnet_diagnostic.IDE0021.severity = silent
115  
116  # IDE0022: Use expression body for methods
117  dotnet_diagnostic.IDE0022.severity = silent
118  
119  # IDE0023: Use expression body for conversion operators
120  dotnet_diagnostic.IDE0023.severity = silent
121  
122  # IDE0025: Use expression body for properties
123  dotnet_diagnostic.IDE0025.severity = silent
124  
125  # IDE0027: Use expression body for accessors
126  dotnet_diagnostic.IDE0027.severity = silent
127  
128  # IDE0028: Use collection initializers
129  dotnet_diagnostic.IDE0028.severity = suggestion
130  
131  # IDE0029: Null check can be simplified
132  dotnet_diagnostic.IDE0029.severity = suggestion
133  
134  # IDE0031: Use null propagation
135  dotnet_diagnostic.IDE0031.severity = suggestion
136  
137  # IDE0032: Use auto property
138  dotnet_diagnostic.IDE0032.severity = suggestion
139  
140  # IDE0034: Simplify default expression
141  dotnet_diagnostic.IDE0034.severity = suggestion
142  
143  # IDE0036: Order modifiers
144  dotnet_diagnostic.IDE0036.severity = suggestion
145  
146  # IDE0039: Use local function instead of lambda
147  dotnet_diagnostic.IDE0039.severity = suggestion
148  
149  # IDE0042: Deconstruct variable declaration
150  dotnet_diagnostic.IDE0042.severity = suggestion
151  
152  # IDE0044: Add readonly modifier
153  dotnet_diagnostic.IDE0044.severity = suggestion
154  
155  # IDE0045: Use conditional expression for assignment
156  dotnet_diagnostic.IDE0045.severity = suggestion
157  
158  # IDE0046: Use conditional expression for return
159  dotnet_diagnostic.IDE0046.severity = suggestion
160  
161  # IDE0047: Remove unnecessary parentheses
162  dotnet_diagnostic.IDE0047.severity = suggestion
163  
164  # IDE0051: Remove unused private member
165  dotnet_diagnostic.IDE0051.severity = suggestion
166  
167  # IDE0052: Remove unread private member
168  dotnet_diagnostic.IDE0052.severity = suggestion
169  
170  # IDE0054: Use compound assignment
171  dotnet_diagnostic.IDE0054.severity = suggestion
172  
173  # IDE0055: Fix formatting
174  dotnet_diagnostic.IDE0055.severity = suggestion
175  
176  # IDE0056: Use index operator
177  dotnet_diagnostic.IDE0056.severity = suggestion
178  
179  # IDE0057: Use range operator
180  dotnet_diagnostic.IDE0057.severity = suggestion
181  
182  # IDE0059: Remove unnecessary value assignment
183  dotnet_diagnostic.IDE0059.severity = suggestion
184  
185  # IDE0060: Remove unused parameter
186  dotnet_diagnostic.IDE0060.severity = suggestion
187  
188  # IDE0061: Use expression body for local functions
189  dotnet_diagnostic.IDE0061.severity = silent
190  
191  # IDE0063: Use simple 'using' statement
192  dotnet_diagnostic.IDE0063.severity = suggestion
193  
194  # IDE0071: Simplify interpolation
195  dotnet_diagnostic.IDE0071.severity = suggestion
196  
197  # IDE0074: Use coalesce compound assignment
198  dotnet_diagnostic.IDE0074.severity = suggestion
199  
200  # IDE0075: Simplify conditional expression
201  dotnet_diagnostic.IDE0075.severity = suggestion
202  
203  # IDE0077: Avoid legacy format target in global 'SuppressMessageAttribute'
204  dotnet_diagnostic.IDE0077.severity = suggestion
205  
206  # IDE0078: Use pattern matching
207  dotnet_diagnostic.IDE0078.severity = suggestion
208  
209  # IDE0083: Use pattern matching ('not' operator)
210  dotnet_diagnostic.IDE0083.severity = suggestion
211  
212  # IDE0090: Simplify 'new' expression
213  dotnet_diagnostic.IDE0090.severity = suggestion
214  
215  # IDE0100: Remove unnecessary equality operator
216  dotnet_diagnostic.IDE0100.severity = suggestion
217  
218  # IDE0130: Namespace does not match folder structure
219  dotnet_diagnostic.IDE0130.severity = suggestion
220  
221  # IDE0160: Use block-scoped namespace
222  dotnet_diagnostic.IDE0160.severity = silent
223  
224  # IDE0180: Use tuple to swap values
225  dotnet_diagnostic.IDE0180.severity = suggestion
226  
227  # IDE0200: Remove unnecessary lambda expression
228  dotnet_diagnostic.IDE0200.severity = suggestion
229  
230  # IDE0240: Nullable directive is redundant
231  dotnet_diagnostic.IDE0240.severity = suggestion
232  
233  # IDE0250: Struct can be made 'readonly'
234  dotnet_diagnostic.IDE0250.severity = suggestion
235  
236  # IDE0251: Member can be made 'readonly''
237  dotnet_diagnostic.IDE0251.severity = suggestion
238  
239  # IDE0260: Use pattern matching
240  dotnet_diagnostic.IDE0260.severity = suggestion
241  
242  # IDE0270: Null check can be simplified
243  dotnet_diagnostic.IDE0270.severity = suggestion
244  
245  # IDE0290: Use primary constructor
246  dotnet_diagnostic.IDE0290.severity = silent
247  
248  # IDE0300: Use collection expression for array
249  dotnet_diagnostic.IDE0300.severity = suggestion
250  
251  # IDE0301: Use collection expression for empty
252  dotnet_diagnostic.IDE0301.severity = suggestion
253  
254  # IDE0305: Use collection expression for fluent
255  dotnet_diagnostic.IDE0305.severity = suggestion
256  
257  # IDE1005: Use conditional delegate call
258  dotnet_diagnostic.IDE1005.severity = suggestion
259  
260  # CA1859: Use concrete types when possible for improved performance
261  dotnet_diagnostic.CA1859.severity = suggestion
262  
263  # CA2202: Avoid inexact read with Stream.Read
264  dotnet_diagnostic.CA2022.severity = suggestion
265  
266  # CA2263: Prefer generic overload when type is known
267  dotnet_diagnostic.CA2263.severity = suggestion