Skip to content

Commit 511874c

Browse files
authored
Update globalconfig
1 parent 0844f09 commit 511874c

File tree

1 file changed

+165
-51
lines changed

1 file changed

+165
-51
lines changed

src/DotNetProjectStarter/LibraryTemplateConstants.cs

Lines changed: 165 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)