@@ -866,36 +866,65 @@ Temporary Items
866866 """ ;
867867
868868 public const string GlobalConfigFile = """
869- # IDE0003 and IDE0009: this and Me preferences (option defaults are already false)
869+ # IDE0001: Simplify name (IDE-only per docs)
870+ # IDE0002: Simplify member access (IDE-only per docs)
871+
872+ # IDE0003 and IDE0009: this and Me preferences (option defaults are already false) (IDE-only per docs)
870873 dotnet_style_qualification_for_field = false
871874 dotnet_style_qualification_for_property = false
872875 dotnet_style_qualification_for_method = false
873876 dotnet_style_qualification_for_event = false
874- dotnet_diagnostic.IDE0003.severity = warning
875-
877+ dotnet_diagnostic.IDE0003.severity = suggestion
878+
879+ # IDE0004: Remove unnecessary cast
880+ dotnet_diagnostic.IDE0004.severity = warning
881+
876882 # IDE0005: Remove unnecessary imports
877883 dotnet_diagnostic.IDE0005.severity = warning
878-
884+
885+ # IDE0007 and IDE0008: var preferences
886+ dotnet_diagnostic.IDE0007.severity = none
887+ dotnet_diagnostic.IDE0008.severity = none
888+
889+ # IDE0010: Add missing cases to switch statement
890+ dotnet_diagnostic.IDE0010.severity = warning
891+
879892 # IDE0011: Add braces
880893 dotnet_diagnostic.IDE0011.severity = none
881-
894+
882895 # IDE0016: Use throw expression
883896 dotnet_diagnostic.IDE0016.severity = warning
884-
897+
885898 # IDE0017: Use object initializers
886899 dotnet_style_object_initializer = true
887900 dotnet_diagnostic.IDE0017.severity = warning
888-
901+
889902 # IDE0018: Inline variable declaration
890903 dotnet_diagnostic.IDE0018.severity = warning
891-
892- # IDE0020 and IDE0038: Use pattern matching to avoid is check followed by a cast
904+
905+ # IDE0019: Use pattern matching to avoid 'as' followed by a 'null' check
906+ # IDE0020 and IDE0038: Use pattern matching to avoid 'is' check followed by a cast
907+ # IDE0078 and IDE0260: Use pattern matching
908+ # IDE0083: Use pattern matching (not operator)
909+ # IDE0084: Use pattern matching (IsNot operator) (VB-only)
910+
893911 csharp_style_pattern_matching_over_is_with_cast_check = true
894912 csharp_style_pattern_matching_over_as_with_null_check = true
913+ dotnet_diagnostic.IDE0019.severity = warning
895914 dotnet_diagnostic.IDE0020.severity = warning
896915 dotnet_diagnostic.IDE0038.severity = warning
897-
916+ dotnet_diagnostic.IDE0078.severity = warning
917+ dotnet_diagnostic.IDE0083.severity = warning
918+ dotnet_diagnostic.IDE0260.severity = warning
919+
920+ # IDE0021: Use expression body for constructors
898921 # IDE0022: Use expression body for methods
922+ # IDE0023 and IDE0024: Use expression body for operators
923+ # IDE0025: Use expression body for properties
924+ # IDE0026: Use expression body for indexers
925+ # IDE0027: Use expression body for accessors
926+ # IDE0053: Use expression body for lambdas
927+ # IDE0061: Use expression body for local functions
899928 csharp_style_expression_bodied_methods = true
900929 csharp_style_expression_bodied_constructors = true
901930 csharp_style_expression_bodied_operators = true
@@ -904,8 +933,16 @@ Temporary Items
904933 csharp_style_expression_bodied_accessors = true
905934 csharp_style_expression_bodied_lambdas = true
906935 csharp_style_expression_bodied_local_functions = true
936+ dotnet_diagnostic.IDE0021.severity = warning
907937 dotnet_diagnostic.IDE0022.severity = warning
908-
938+ dotnet_diagnostic.IDE0023.severity = warning
939+ dotnet_diagnostic.IDE0024.severity = warning
940+ dotnet_diagnostic.IDE0025.severity = warning
941+ dotnet_diagnostic.IDE0026.severity = warning
942+ dotnet_diagnostic.IDE0027.severity = warning
943+ dotnet_diagnostic.IDE0053.severity = warning
944+ dotnet_diagnostic.IDE0061.severity = warning
945+
909946 # IDE0028: Use collection initializers or expressions
910947 # IDE0300: Use collection expression for array
911948 # IDE0301: Use collection expression for empty
@@ -924,75 +961,98 @@ Temporary Items
924961 dotnet_diagnostic.IDE0304.severity = none
925962 dotnet_diagnostic.IDE0305.severity = none
926963 dotnet_diagnostic.IDE0306.severity = none
927-
964+
928965 # IDE0029: Null check can be simplified (ternary conditional check)
929966 # IDE0030: Null check can be simplified (nullable ternary conditional check)
930967 # IDE0270: Null check can be simplified (if null check)
931968 dotnet_style_coalesce_expression = true
932969 dotnet_diagnostic.IDE0029.severity = warning
933970 dotnet_diagnostic.IDE0030.severity = warning
934971 dotnet_diagnostic.IDE0270.severity = warning
935-
972+
936973 # IDE0031: Use null propagation
937974 dotnet_style_null_propagation = true
938975 dotnet_diagnostic.IDE0031.severity = warning
939-
976+
940977 # IDE0032: Use auto-implemented property
941978 dotnet_style_prefer_auto_properties = true
942979 dotnet_diagnostic.IDE0032.severity = warning
943-
980+
944981 # IDE0033: Use explicitly provided tuple name
945982 dotnet_style_explicit_tuple_names = true
946983 dotnet_diagnostic.IDE0033.severity = warning
947-
984+
948985 # IDE0034: Simplify 'default' expression
949986 csharp_prefer_simple_default_expression = true
950987 dotnet_diagnostic.IDE0034.severity = warning
951-
988+
989+ # IDE0035: Remove unreachable code (IDE-only per docs)
990+ dotnet_diagnostic.IDE0035.severity = none
991+
952992 # IDE0036: Order modifiers
953993 # IDE0040: Add accessibility modifiers
954994 csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
955995 dotnet_diagnostic.IDE0036.severity = warning
956996 dotnet_diagnostic.IDE0040.severity = warning
957-
997+
958998 # IDE0037: Use inferred member names
959999 dotnet_style_prefer_inferred_tuple_names = true
9601000 dotnet_style_prefer_inferred_anonymous_type_member_names = true
9611001 dotnet_diagnostic.IDE0037.severity = warning
962-
1002+
1003+ # IDE0039: Use local function instead of lambda
1004+ dotnet_diagnostic.IDE0039.severity = none
1005+
9631006 # IDE0040: Add accessibility modifiers
9641007 dotnet_style_require_accessibility_modifiers = for_non_interface_members
9651008 dotnet_diagnostic.IDE0040.severity = warning
966-
1009+
9671010 # IDE0041: Use 'is null' check
9681011 dotnet_style_prefer_is_null_check_over_reference_equality_method = true
9691012 dotnet_diagnostic.IDE0041.severity = warning
970-
1013+
1014+ # IDE0042: Deconstruct variable declaration
1015+ dotnet_diagnostic.IDE0042.severity = warning
1016+
9711017 # IDE0044: Add readonly modifier
9721018 dotnet_style_readonly_field = true
9731019 dotnet_diagnostic.IDE0044.severity = warning
974-
1020+
9751021 # IDE0045: Use conditional expression for assignment
9761022 dotnet_style_prefer_conditional_expression_over_assignment = true
9771023 dotnet_diagnostic.IDE0045.severity = none
978-
1024+
9791025 # IDE0046: Use conditional expression for return
9801026 dotnet_style_prefer_conditional_expression_over_return = true
9811027 dotnet_diagnostic.IDE0046.severity = none
982-
1028+
1029+ # IDE0047 and IDE0048: Parentheses preferences
1030+ dotnet_diagnostic.IDE0047.severity = warning
1031+ dotnet_diagnostic.IDE0048.severity = warning
1032+
9831033 # IDE0049: Use language keywords instead of framework type names for type references
9841034 # Default is already true. This rule is not enabled on build.
9851035 dotnet_style_predefined_type_for_locals_parameters_members = true
9861036 dotnet_style_predefined_type_for_member_access = true
9871037 dotnet_diagnostic.IDE0049.severity = warning
988-
1038+
1039+ # IDE0051: Remove unused private member
1040+ dotnet_diagnostic.IDE0051.severity = warning
1041+
1042+ # IDE0052: Remove unread private member
1043+ dotnet_diagnostic.IDE0052.severity = warning
1044+
1045+ # IDE0054 and IDE0074: Use compound assignment
1046+ dotnet_diagnostic.IDE0054.severity = warning
1047+ dotnet_diagnostic.IDE0074.severity = warning
1048+
9891049 # IDE0055: Fix formatting
9901050 dotnet_diagnostic.IDE0055.severity = warning
991-
1051+
9921052 # .NET formatting options - IDE0055
9931053 dotnet_sort_system_directives_first = true
9941054 dotnet_separate_import_directive_groups = false
995-
1055+
9961056 # New line preferences - IDE0055
9971057 csharp_new_line_before_open_brace = all
9981058 csharp_new_line_before_else = true
@@ -1001,15 +1061,15 @@ Temporary Items
10011061 csharp_new_line_before_members_in_object_initializers = true
10021062 csharp_new_line_before_members_in_anonymous_types = true
10031063 csharp_new_line_between_query_expression_clauses = true
1004-
1064+
10051065 # Indentation preferences - IDE0055
10061066 csharp_indent_block_contents = true
10071067 csharp_indent_braces = false
10081068 csharp_indent_case_contents = true
10091069 csharp_indent_case_contents_when_block = false
10101070 csharp_indent_switch_labels = true
10111071 csharp_indent_labels = one_less_than_current
1012-
1072+
10131073 # Spacing preferences - IDE0055
10141074 csharp_space_after_cast = false
10151075 csharp_space_after_colon_in_inheritance_clause = true
@@ -1033,42 +1093,101 @@ Temporary Items
10331093 csharp_space_between_method_declaration_parameter_list_parentheses = false
10341094 csharp_space_between_parentheses = false
10351095 csharp_space_between_square_brackets = false
1036-
1096+
10371097 # Wrapping preferences - IDE0055
10381098 csharp_preserve_single_line_blocks = true
10391099 csharp_preserve_single_line_statements = false
1040-
1100+
10411101 # IDE0056: Use index operator
10421102 csharp_style_prefer_index_operator = false
10431103 dotnet_diagnostic.IDE0056.severity = warning
1044-
1104+
10451105 # IDE0057: Use range operator
10461106 csharp_style_prefer_range_operator = false
10471107 dotnet_diagnostic.IDE0057.severity = warning
1048-
1108+
1109+ # IDE0058: Remove unnecessary expression value
1110+ dotnet_diagnostic.IDE0058.severity = warning
1111+
1112+ # IDE0059: Remove unnecessary value assignment
1113+ dotnet_diagnostic.IDE0059.severity = warning
1114+
1115+ # IDE0060: Remove unused parameter
1116+ dotnet_diagnostic.IDE0060.severity = warning
1117+
10491118 # IDE0062: Make local function static
10501119 csharp_prefer_static_local_function = true
10511120 dotnet_diagnostic.IDE0062.severity = warning
1052-
1121+
10531122 # IDE0063: Use simple 'using' statement
10541123 csharp_prefer_simple_using_statement = true
10551124 dotnet_diagnostic.IDE0063.severity = warning
1056-
1125+
1126+ # IDE0064: Make struct fields writable
1127+ dotnet_diagnostic.IDE0064.severity = warning
1128+
1129+ # IDE0065: 'using' directive placement
1130+ dotnet_diagnostic.IDE0065.severity = none
1131+
10571132 # IDE0066: Use switch expression
10581133 csharp_style_prefer_switch_expression = true
10591134 dotnet_diagnostic.IDE0066.severity = warning
1060-
1135+
1136+ # IDE0070: Use 'System.HashCode.Combine'
1137+ dotnet_diagnostic.IDE0070.severity = warning
1138+
1139+ # IDE0071: Simplify interpolation
1140+ dotnet_diagnostic.IDE0071.severity = warning
1141+
1142+ # IDE0072: Add missing cases to switch expression
1143+ dotnet_diagnostic.IDE0072.severity = warning
1144+
1145+ # IDE0073: Require file header
1146+ dotnet_diagnostic.IDE0073.severity = none
1147+
1148+ # IDE0075: Simplify conditional expression
1149+ dotnet_diagnostic.IDE0075.severity = warning
1150+
1151+ # IDE0076: Remove invalid global 'SuppressMessageAttribute'
1152+ dotnet_diagnostic.IDE0076.severity = warning
1153+
1154+ # IDE0077: Avoid legacy format target in global 'SuppressMessageAttribute'
1155+ dotnet_diagnostic.IDE0077.severity = warning
1156+
1157+ # IDE0079: Remove unnecessary suppression (IDE-only per docs)
1158+ dotnet_diagnostic.IDE0079.severity = none
1159+
1160+ # IDE0080: Remove unnecessary suppression operator
1161+ dotnet_diagnostic.IDE0080.severity = warning
1162+
1163+ # IDE0081: Remove ByVal (VB-only)
1164+ dotnet_diagnostic.IDE0081.severity = warning
1165+
1166+ # IDE0082: Convert typeof to nameof
1167+ dotnet_diagnostic.IDE0082.severity = warning
1168+
1169+ # IDE0090: Simplify new expression
1170+ dotnet_diagnostic.IDE0090.severity = none
1171+
1172+ # IDE0100: Remove unnecessary equality operator
1173+ dotnet_diagnostic.IDE0100.severity = warning
1174+
1175+ # IDE0160 and IDE0161
1176+ csharp_style_namespace_declarations = file_scoped
1177+ dotnet_diagnostic.IDE0160.severity = warning
1178+ dotnet_diagnostic.IDE0161.severity = warning
1179+
10611180 # IDE1006: Naming rule violation
10621181 dotnet_diagnostic.IDE1006.severity = warning
1063-
1182+
10641183 # Naming rules: name all constant fields using PascalCase (IDE1006)
10651184 dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = warning
10661185 dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
10671186 dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
10681187 dotnet_naming_symbols.constant_fields.applicable_kinds = field
10691188 dotnet_naming_symbols.constant_fields.required_modifiers = const
10701189 dotnet_naming_style.pascal_case_style.capitalization = pascal_case
1071-
1190+
10721191 # Naming rules: static fields should have s_ prefix (IDE1006)
10731192 dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
10741193 dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
@@ -1078,7 +1197,7 @@ Temporary Items
10781197 dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
10791198 dotnet_naming_style.static_prefix_style.required_prefix = s_
10801199 dotnet_naming_style.static_prefix_style.capitalization = camel_case
1081-
1200+
10821201 # Naming rules: internal and private fields should be _camelCase (IDE1006)
10831202 dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
10841203 dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
@@ -1087,30 +1206,25 @@ Temporary Items
10871206 dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
10881207 dotnet_naming_style.camel_case_underscore_style.required_prefix = _
10891208 dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
1090-
1209+
10911210 # IDE1005
10921211 csharp_style_conditional_delegate_call = true
1093-
1094-
1095- # IDE0160 and IDE0161
1096- csharp_style_namespace_declarations = file_scoped
1097-
1098-
1212+
10991213 # CA1014: Mark assemblies with CLSCompliant
11001214 dotnet_diagnostic.CA1014.severity = none
1101-
1215+
11021216 # CA1824: Mark assemblies with NeutralResourcesLanguageAttribute
11031217 dotnet_diagnostic.CA1824.severity = none
1104-
1218+
11051219 # CA1062: Validate arguments of public methods
11061220 dotnet_diagnostic.CA1062.severity = none
1107-
1221+
11081222 # CA1510: Use ArgumentNullException throw helper
11091223 dotnet_diagnostic.CA1510.severity = none
1110-
1224+
11111225 # CA1863: Use 'CompositeFormat'
11121226 dotnet_diagnostic.CA1863.severity = none
1113-
1227+
11141228 # TODO: Use YAnalyzers for var vs explicit types.
11151229
11161230 """ ;
0 commit comments