|
| 1 | +# Remove the line below if you want to inherit .editorconfig settings from higher directories |
| 2 | +root = true |
| 3 | + |
| 4 | +[*] |
| 5 | +indent_style = space |
| 6 | +indent_size = 4 |
| 7 | +tab-width = 4 |
| 8 | +charset = utf-8 |
| 9 | +trim_trailing_whitespace = true |
| 10 | +insert_final_newline = true |
| 11 | + |
| 12 | +[*.{config,csproj,css,js,json,props,targets,xml,ruleset,xsd,xslt,html,yml,yaml}] |
| 13 | +indent_size = 2 |
| 14 | +tab-width = 2 |
| 15 | +max_line_length = 160 |
| 16 | + |
| 17 | +[*.{cs,cshtml,ascx,aspx}] |
| 18 | + |
| 19 | +#### C#/.NET Coding Conventions #### |
| 20 | + |
| 21 | +# Default severity for IDE* analyzers with category 'Style' |
| 22 | +# Note: specific rules below use severity silent, because Resharper code cleanup auto-fixes them. |
| 23 | +dotnet_analyzer_diagnostic.category-Style.severity = warning |
| 24 | + |
| 25 | +# 'using' directive preferences |
| 26 | +dotnet_sort_system_directives_first = true |
| 27 | +csharp_using_directive_placement = outside_namespace:silent |
| 28 | +# IDE0005: Remove unnecessary import |
| 29 | +dotnet_diagnostic.IDE0005.severity = silent |
| 30 | + |
| 31 | +# Namespace declarations |
| 32 | +csharp_style_namespace_declarations = file_scoped:silent |
| 33 | +# IDE0160: Use block-scoped namespace |
| 34 | +dotnet_diagnostic.IDE0160.severity = silent |
| 35 | +# IDE0161: Use file-scoped namespace |
| 36 | +dotnet_diagnostic.IDE0161.severity = silent |
| 37 | + |
| 38 | +# this. preferences |
| 39 | +dotnet_style_qualification_for_field = false:silent |
| 40 | +dotnet_style_qualification_for_property = false:silent |
| 41 | +dotnet_style_qualification_for_method = false:silent |
| 42 | +dotnet_style_qualification_for_event = false:silent |
| 43 | +# IDE0003: Remove this or Me qualification |
| 44 | +dotnet_diagnostic.IDE0003.severity = silent |
| 45 | +# IDE0009: Add this or Me qualification |
| 46 | +dotnet_diagnostic.IDE0009.severity = silent |
| 47 | + |
| 48 | +# Language keywords vs BCL types preferences |
| 49 | +dotnet_style_predefined_type_for_locals_parameters_members = true:silent |
| 50 | +dotnet_style_predefined_type_for_member_access = true:silent |
| 51 | +# IDE0049: Use language keywords instead of framework type names for type references |
| 52 | +dotnet_diagnostic.IDE0049.severity = silent |
| 53 | + |
| 54 | +# Modifier preferences |
| 55 | +dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent |
| 56 | +# IDE0040: Add accessibility modifiers |
| 57 | +dotnet_diagnostic.IDE0040.severity = silent |
| 58 | +csharp_preferred_modifier_order = public, private, protected, internal, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async:silent |
| 59 | +# IDE0036: Order modifiers |
| 60 | +dotnet_diagnostic.IDE0036.severity = silent |
| 61 | + |
| 62 | +# Expression-level preferences |
| 63 | +dotnet_style_operator_placement_when_wrapping = end_of_line |
| 64 | +dotnet_style_prefer_auto_properties = true:silent |
| 65 | +# IDE0032: Use auto property |
| 66 | +dotnet_diagnostic.IDE0032.severity = silent |
| 67 | +dotnet_style_prefer_conditional_expression_over_assignment = true:silent |
| 68 | +# IDE0045: Use conditional expression for assignment |
| 69 | +dotnet_diagnostic.IDE0045.severity = silent |
| 70 | +dotnet_style_prefer_conditional_expression_over_return = true:silent |
| 71 | +# IDE0046: Use conditional expression for return |
| 72 | +dotnet_diagnostic.IDE0046.severity = silent |
| 73 | +csharp_style_unused_value_expression_statement_preference = discard_variable:silent |
| 74 | +# IDE0058: Remove unused expression value |
| 75 | +dotnet_diagnostic.IDE0058.severity = silent |
| 76 | + |
| 77 | +# Collection expression preferences (note: partially turned off in Directory.Build.props) |
| 78 | +dotnet_style_prefer_collection_expression = when_types_exactly_match |
| 79 | + |
| 80 | +# Parameter preferences |
| 81 | +dotnet_code_quality_unused_parameters = non_public |
| 82 | + |
| 83 | +# Local functions vs lambdas |
| 84 | +csharp_style_prefer_local_over_anonymous_function = false:silent |
| 85 | +# IDE0039: Use local function instead of lambda |
| 86 | +dotnet_diagnostic.IDE0039.severity = silent |
| 87 | + |
| 88 | +# Expression-bodied members |
| 89 | +csharp_style_expression_bodied_accessors = true:silent |
| 90 | +# IDE0027: Use expression body for accessors |
| 91 | +dotnet_diagnostic.IDE0027.severity = silent |
| 92 | +csharp_style_expression_bodied_constructors = false:silent |
| 93 | +# IDE0021: Use expression body for constructors |
| 94 | +dotnet_diagnostic.IDE0021.severity = silent |
| 95 | +csharp_style_expression_bodied_indexers = true:silent |
| 96 | +# IDE0026: Use expression body for indexers |
| 97 | +dotnet_diagnostic.IDE0026.severity = silent |
| 98 | +csharp_style_expression_bodied_lambdas = true:silent |
| 99 | +# IDE0053: Use expression body for lambdas |
| 100 | +dotnet_diagnostic.IDE0053.severity = silent |
| 101 | +csharp_style_expression_bodied_local_functions = false:silent |
| 102 | +# IDE0061: Use expression body for local functions |
| 103 | +dotnet_diagnostic.IDE0061.severity = silent |
| 104 | +csharp_style_expression_bodied_methods = false:silent |
| 105 | +# IDE0022: Use expression body for methods |
| 106 | +dotnet_diagnostic.IDE0022.severity = silent |
| 107 | +csharp_style_expression_bodied_operators = false:silent |
| 108 | +# IDE0023: Use expression body for conversion operators |
| 109 | +dotnet_diagnostic.IDE0023.severity = silent |
| 110 | +# IDE0024: Use expression body for operators |
| 111 | +dotnet_diagnostic.IDE0024.severity = silent |
| 112 | +csharp_style_expression_bodied_properties = true:silent |
| 113 | +# IDE0025: Use expression body for properties |
| 114 | +dotnet_diagnostic.IDE0025.severity = silent |
| 115 | + |
| 116 | +# Member preferences (these analyzers are unreliable) |
| 117 | +# IDE0051: Remove unused private member |
| 118 | +dotnet_diagnostic.IDE0051.severity = silent |
| 119 | +# IDE0052: Remove unread private member |
| 120 | +dotnet_diagnostic.IDE0052.severity = silent |
| 121 | + |
| 122 | +# Code-block preferences |
| 123 | +csharp_prefer_braces = true:silent |
| 124 | +# IDE0011: Add braces |
| 125 | +dotnet_diagnostic.IDE0011.severity = silent |
| 126 | + |
| 127 | +# Indentation preferences |
| 128 | +csharp_indent_case_contents_when_block = false |
| 129 | + |
| 130 | +# Wrapping preferences |
| 131 | +csharp_preserve_single_line_statements = false |
| 132 | + |
| 133 | +# 'var' usage preferences |
| 134 | +csharp_style_var_for_built_in_types = false:silent |
| 135 | +csharp_style_var_when_type_is_apparent = true:silent |
| 136 | +csharp_style_var_elsewhere = false:silent |
| 137 | +# IDE0007: Use var instead of explicit type |
| 138 | +dotnet_diagnostic.IDE0007.severity = silent |
| 139 | +# IDE0008: Use explicit type instead of var |
| 140 | +dotnet_diagnostic.IDE0008.severity = silent |
| 141 | + |
| 142 | +# Parentheses preferences |
| 143 | +dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:silent |
| 144 | +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent |
| 145 | +dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:silent |
| 146 | +# IDE0047: Remove unnecessary parentheses |
| 147 | +dotnet_diagnostic.IDE0047.severity = silent |
| 148 | +# IDE0048: Add parentheses for clarity |
| 149 | +dotnet_diagnostic.IDE0048.severity = silent |
| 150 | + |
| 151 | +# Switch preferences |
| 152 | +# IDE0010: Add missing cases to switch statement |
| 153 | +dotnet_diagnostic.IDE0010.severity = silent |
| 154 | +# IDE0072: Add missing cases to switch expression |
| 155 | +dotnet_diagnostic.IDE0072.severity = silent |
| 156 | + |
| 157 | +# Null check preferences |
| 158 | +# IDE0029: Null check can be simplified |
| 159 | +dotnet_diagnostic.IDE0029.severity = silent |
| 160 | +# IDE0030: Null check can be simplified |
| 161 | +dotnet_diagnostic.IDE0030.severity = silent |
| 162 | +# IDE0270: Null check can be simplified |
| 163 | +dotnet_diagnostic.IDE0270.severity = silent |
| 164 | + |
| 165 | +# JSON002: Probable JSON string detected |
| 166 | +dotnet_diagnostic.JSON002.severity = silent |
| 167 | + |
| 168 | +# CA1062: Validate arguments of public methods |
| 169 | +dotnet_code_quality.CA1062.excluded_symbol_names = Accept|DefaultVisit|Visit*|Apply* |
| 170 | + |
| 171 | +#### .NET Naming Style #### |
| 172 | + |
| 173 | +dotnet_diagnostic.IDE1006.severity = warning |
| 174 | + |
| 175 | +# Naming rules |
| 176 | +dotnet_naming_rule.const_fields_should_be_pascal_case.symbols = const_fields |
| 177 | +dotnet_naming_rule.const_fields_should_be_pascal_case.style = pascal_case |
| 178 | +dotnet_naming_rule.const_fields_should_be_pascal_case.severity = warning |
| 179 | + |
| 180 | +dotnet_naming_rule.private_static_readonly_fields_should_be_pascal_case.symbols = private_static_readonly_fields |
| 181 | +dotnet_naming_rule.private_static_readonly_fields_should_be_pascal_case.style = pascal_case |
| 182 | +dotnet_naming_rule.private_static_readonly_fields_should_be_pascal_case.severity = warning |
| 183 | + |
| 184 | +dotnet_naming_rule.private_fields_should_start_with_underscore.symbols = private_fields |
| 185 | +dotnet_naming_rule.private_fields_should_start_with_underscore.style = camel_case_prefix_with_underscore |
| 186 | +dotnet_naming_rule.private_fields_should_start_with_underscore.severity = warning |
| 187 | + |
| 188 | +dotnet_naming_rule.locals_and_parameters_should_be_camel_case.symbols = locals_and_parameters |
| 189 | +dotnet_naming_rule.locals_and_parameters_should_be_camel_case.style = camel_case |
| 190 | +dotnet_naming_rule.locals_and_parameters_should_be_camel_case.severity = warning |
| 191 | + |
| 192 | +dotnet_naming_rule.types_and_members_should_be_pascal_case.symbols = types_and_members |
| 193 | +dotnet_naming_rule.types_and_members_should_be_pascal_case.style = pascal_case |
| 194 | +dotnet_naming_rule.types_and_members_should_be_pascal_case.severity = warning |
| 195 | + |
| 196 | +# Symbol specifications |
| 197 | +dotnet_naming_symbols.const_fields.applicable_kinds = field |
| 198 | +dotnet_naming_symbols.const_fields.applicable_accessibilities = * |
| 199 | +dotnet_naming_symbols.const_fields.required_modifiers = const |
| 200 | + |
| 201 | +dotnet_naming_symbols.private_static_readonly_fields.applicable_kinds = field |
| 202 | +dotnet_naming_symbols.private_static_readonly_fields.applicable_accessibilities = private |
| 203 | +dotnet_naming_symbols.private_static_readonly_fields.required_modifiers = static, readonly |
| 204 | + |
| 205 | +dotnet_naming_symbols.private_fields.applicable_kinds = field |
| 206 | +dotnet_naming_symbols.private_fields.applicable_accessibilities = private |
| 207 | + |
| 208 | +dotnet_naming_symbols.locals_and_parameters.applicable_kinds = local, parameter |
| 209 | +dotnet_naming_symbols.locals_and_parameters.applicable_accessibilities = * |
| 210 | + |
| 211 | +dotnet_naming_symbols.types_and_members.applicable_kinds = * |
| 212 | +dotnet_naming_symbols.types_and_members.applicable_accessibilities = * |
| 213 | + |
| 214 | +# Style specifications |
| 215 | +dotnet_naming_style.pascal_case.capitalization = pascal_case |
| 216 | + |
| 217 | +dotnet_naming_style.camel_case_prefix_with_underscore.required_prefix = _ |
| 218 | +dotnet_naming_style.camel_case_prefix_with_underscore.capitalization = camel_case |
| 219 | + |
| 220 | +dotnet_naming_style.camel_case.capitalization = camel_case |
0 commit comments