1- # IDE0003 and IDE0009: this and Me preferences (option defaults are already false)
1+ # IDE0001: Simplify name (IDE-only per docs)
2+ # IDE0002: Simplify member access (IDE-only per docs)
3+
4+ # IDE0003 and IDE0009: this and Me preferences (option defaults are already false) (IDE-only per docs)
25dotnet_style_qualification_for_field = false
36dotnet_style_qualification_for_property = false
47dotnet_style_qualification_for_method = false
58dotnet_style_qualification_for_event = false
6- dotnet_diagnostic.IDE0003.severity = warning
9+ dotnet_diagnostic.IDE0003.severity = suggestion
10+
11+ # IDE0004: Remove unnecessary cast
12+ dotnet_diagnostic.IDE0004.severity = warning
713
814# IDE0005: Remove unnecessary imports
915dotnet_diagnostic.IDE0005.severity = warning
1016
17+ # IDE0007 and IDE0008: var preferences
18+ dotnet_diagnostic.IDE0007.severity = none
19+ dotnet_diagnostic.IDE0008.severity = none
20+
21+ # IDE0010: Add missing cases to switch statement
22+ dotnet_diagnostic.IDE0010.severity = warning
23+
1124# IDE0011: Add braces
1225dotnet_diagnostic.IDE0011.severity = none
1326
@@ -21,13 +34,29 @@ dotnet_diagnostic.IDE0017.severity = warning
2134# IDE0018: Inline variable declaration
2235dotnet_diagnostic.IDE0018.severity = warning
2336
24- # IDE0020 and IDE0038: Use pattern matching to avoid is check followed by a cast
37+ # IDE0019: Use pattern matching to avoid 'as' followed by a 'null' check
38+ # IDE0020 and IDE0038: Use pattern matching to avoid 'is' check followed by a cast
39+ # IDE0078 and IDE0260: Use pattern matching
40+ # IDE0083: Use pattern matching (not operator)
41+ # IDE0084: Use pattern matching (IsNot operator) (VB-only)
42+
2543csharp_style_pattern_matching_over_is_with_cast_check = true
2644csharp_style_pattern_matching_over_as_with_null_check = true
45+ dotnet_diagnostic.IDE0019.severity = warning
2746dotnet_diagnostic.IDE0020.severity = warning
2847dotnet_diagnostic.IDE0038.severity = warning
48+ dotnet_diagnostic.IDE0078.severity = warning
49+ dotnet_diagnostic.IDE0083.severity = warning
50+ dotnet_diagnostic.IDE0260.severity = warning
2951
52+ # IDE0021: Use expression body for constructors
3053# IDE0022: Use expression body for methods
54+ # IDE0023 and IDE0024: Use expression body for operators
55+ # IDE0025: Use expression body for properties
56+ # IDE0026: Use expression body for indexers
57+ # IDE0027: Use expression body for accessors
58+ # IDE0053: Use expression body for lambdas
59+ # IDE0061: Use expression body for local functions
3160csharp_style_expression_bodied_methods = true
3261csharp_style_expression_bodied_constructors = true
3362csharp_style_expression_bodied_operators = true
@@ -36,7 +65,15 @@ csharp_style_expression_bodied_indexers = true
3665csharp_style_expression_bodied_accessors = true
3766csharp_style_expression_bodied_lambdas = true
3867csharp_style_expression_bodied_local_functions = true
68+ dotnet_diagnostic.IDE0021.severity = warning
3969dotnet_diagnostic.IDE0022.severity = warning
70+ dotnet_diagnostic.IDE0023.severity = warning
71+ dotnet_diagnostic.IDE0024.severity = warning
72+ dotnet_diagnostic.IDE0025.severity = warning
73+ dotnet_diagnostic.IDE0026.severity = warning
74+ dotnet_diagnostic.IDE0027.severity = warning
75+ dotnet_diagnostic.IDE0053.severity = warning
76+ dotnet_diagnostic.IDE0061.severity = warning
4077
4178# IDE0028: Use collection initializers or expressions
4279# IDE0300: Use collection expression for array
@@ -81,6 +118,9 @@ dotnet_diagnostic.IDE0033.severity = warning
81118csharp_prefer_simple_default_expression = true
82119dotnet_diagnostic.IDE0034.severity = warning
83120
121+ # IDE0035: Remove unreachable code (IDE-only per docs)
122+ dotnet_diagnostic.IDE0035.severity = none
123+
84124# IDE0036: Order modifiers
85125# IDE0040: Add accessibility modifiers
86126csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
@@ -92,6 +132,9 @@ dotnet_style_prefer_inferred_tuple_names = true
92132dotnet_style_prefer_inferred_anonymous_type_member_names = true
93133dotnet_diagnostic.IDE0037.severity = warning
94134
135+ # IDE0039: Use local function instead of lambda
136+ dotnet_diagnostic.IDE0039.severity = none
137+
95138# IDE0040: Add accessibility modifiers
96139dotnet_style_require_accessibility_modifiers = for_non_interface_members
97140dotnet_diagnostic.IDE0040.severity = warning
@@ -100,6 +143,9 @@ dotnet_diagnostic.IDE0040.severity = warning
100143dotnet_style_prefer_is_null_check_over_reference_equality_method = true
101144dotnet_diagnostic.IDE0041.severity = warning
102145
146+ # IDE0042: Deconstruct variable declaration
147+ dotnet_diagnostic.IDE0042.severity = warning
148+
103149# IDE0044: Add readonly modifier
104150dotnet_style_readonly_field = true
105151dotnet_diagnostic.IDE0044.severity = warning
@@ -112,12 +158,26 @@ dotnet_diagnostic.IDE0045.severity = none
112158dotnet_style_prefer_conditional_expression_over_return = true
113159dotnet_diagnostic.IDE0046.severity = none
114160
161+ # IDE0047 and IDE0048: Parentheses preferences
162+ dotnet_diagnostic.IDE0047.severity = warning
163+ dotnet_diagnostic.IDE0048.severity = warning
164+
115165# IDE0049: Use language keywords instead of framework type names for type references
116166# Default is already true. This rule is not enabled on build.
117167dotnet_style_predefined_type_for_locals_parameters_members = true
118168dotnet_style_predefined_type_for_member_access = true
119169dotnet_diagnostic.IDE0049.severity = warning
120170
171+ # IDE0051: Remove unused private member
172+ dotnet_diagnostic.IDE0051.severity = warning
173+
174+ # IDE0052: Remove unread private member
175+ dotnet_diagnostic.IDE0052.severity = warning
176+
177+ # IDE0054 and IDE0074: Use compound assignment
178+ dotnet_diagnostic.IDE0054.severity = warning
179+ dotnet_diagnostic.IDE0074.severity = warning
180+
121181# IDE0055: Fix formatting
122182dotnet_diagnostic.IDE0055.severity = warning
123183
@@ -178,6 +238,15 @@ dotnet_diagnostic.IDE0056.severity = warning
178238csharp_style_prefer_range_operator = false
179239dotnet_diagnostic.IDE0057.severity = warning
180240
241+ # IDE0058: Remove unnecessary expression value
242+ dotnet_diagnostic.IDE0058.severity = warning
243+
244+ # IDE0059: Remove unnecessary value assignment
245+ dotnet_diagnostic.IDE0059.severity = warning
246+
247+ # IDE0060: Remove unused parameter
248+ dotnet_diagnostic.IDE0060.severity = warning
249+
181250# IDE0062: Make local function static
182251csharp_prefer_static_local_function = true
183252dotnet_diagnostic.IDE0062.severity = warning
@@ -186,10 +255,60 @@ dotnet_diagnostic.IDE0062.severity = warning
186255csharp_prefer_simple_using_statement = true
187256dotnet_diagnostic.IDE0063.severity = warning
188257
258+ # IDE0064: Make struct fields writable
259+ dotnet_diagnostic.IDE0064.severity = warning
260+
261+ # IDE0065: 'using' directive placement
262+ dotnet_diagnostic.IDE0065.severity = none
263+
189264# IDE0066: Use switch expression
190265csharp_style_prefer_switch_expression = true
191266dotnet_diagnostic.IDE0066.severity = warning
192267
268+ # IDE0070: Use 'System.HashCode.Combine'
269+ dotnet_diagnostic.IDE0070.severity = warning
270+
271+ # IDE0071: Simplify interpolation
272+ dotnet_diagnostic.IDE0071.severity = warning
273+
274+ # IDE0072: Add missing cases to switch expression
275+ dotnet_diagnostic.IDE0072.severity = warning
276+
277+ # IDE0073: Require file header
278+ dotnet_diagnostic.IDE0073.severity = none
279+
280+ # IDE0075: Simplify conditional expression
281+ dotnet_diagnostic.IDE0075.severity = warning
282+
283+ # IDE0076: Remove invalid global 'SuppressMessageAttribute'
284+ dotnet_diagnostic.IDE0076.severity = warning
285+
286+ # IDE0077: Avoid legacy format target in global 'SuppressMessageAttribute'
287+ dotnet_diagnostic.IDE0077.severity = warning
288+
289+ # IDE0079: Remove unnecessary suppression (IDE-only per docs)
290+ dotnet_diagnostic.IDE0079.severity = none
291+
292+ # IDE0080: Remove unnecessary suppression operator
293+ dotnet_diagnostic.IDE0080.severity = warning
294+
295+ # IDE0081: Remove ByVal (VB-only)
296+ dotnet_diagnostic.IDE0081.severity = warning
297+
298+ # IDE0082: Convert typeof to nameof
299+ dotnet_diagnostic.IDE0082.severity = warning
300+
301+ # IDE0090: Simplify new expression
302+ dotnet_diagnostic.IDE0090.severity = none
303+
304+ # IDE0100: Remove unnecessary equality operator
305+ dotnet_diagnostic.IDE0100.severity = warning
306+
307+ # IDE0160 and IDE0161
308+ csharp_style_namespace_declarations = file_scoped
309+ dotnet_diagnostic.IDE0160.severity = warning
310+ dotnet_diagnostic.IDE0161.severity = warning
311+
193312# IDE1006: Naming rule violation
194313dotnet_diagnostic.IDE1006.severity = warning
195314
@@ -203,32 +322,25 @@ dotnet_naming_style.pascal_case_style.capitalization = pascal_case
203322
204323# Naming rules: static fields should have s_ prefix (IDE1006)
205324dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
206- dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
207- dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
208- dotnet_naming_symbols.static_fields.applicable_kinds = field
325+ dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
326+ dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
327+ dotnet_naming_symbols.static_fields.applicable_kinds = field
209328dotnet_naming_symbols.static_fields.required_modifiers = static
210329dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
211330dotnet_naming_style.static_prefix_style.required_prefix = s_
212331dotnet_naming_style.static_prefix_style.capitalization = camel_case
213332
214333# Naming rules: internal and private fields should be _camelCase (IDE1006)
215334dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
216- dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
217- dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
335+ dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
336+ dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
218337dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
219338dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
220339dotnet_naming_style.camel_case_underscore_style.required_prefix = _
221340dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
222341
223- # IDE1005: Use conditional delegate call
342+ # IDE1005
224343csharp_style_conditional_delegate_call = true
225- dotnet_diagnostic.IDE1005.severity = warning
226-
227- # IDE0160: Use block-scoped namespace
228- # IDE0161: Use file-scoped namespace
229- csharp_style_namespace_declarations = file_scoped
230- dotnet_diagnostic.IDE0160.severity = warning
231- dotnet_diagnostic.IDE0161.severity = warning
232344
233345# CA1014: Mark assemblies with CLSCompliant
234346dotnet_diagnostic.CA1014.severity = none
@@ -245,5 +357,4 @@ dotnet_diagnostic.CA1510.severity = none
245357# CA1863: Use 'CompositeFormat'
246358dotnet_diagnostic.CA1863.severity = none
247359
248-
249360# TODO: Use YAnalyzers for var vs explicit types.
0 commit comments