Created
February 23, 2022 11:39
-
-
Save wipiano/4ae5cffab405de0c5ae23b51f286fe9f to your computer and use it in GitHub Desktop.
.NET 6 editorconfig
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# EditorConfig is awesome: https://EditorConfig.org | |
# top-most EditorConfig file | |
root = true | |
# Don't use tabs for indentation. | |
[*] | |
indent_style = space | |
# (Please don't specify an indent_size here; that has too many unintended consequences.) | |
# Code files | |
[*.{cs,csx,vb,vbx}] | |
indent_size = 4 | |
insert_final_newline = true | |
charset = utf-8-bom | |
# XML project files | |
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | |
indent_size = 2 | |
# XML config files | |
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] | |
indent_size = 2 | |
# JSON files | |
[*.json] | |
indent_size = 2 | |
# Powershell files | |
[*.ps1] | |
indent_size = 2 | |
# Shell script files | |
[*.sh] | |
end_of_line = lf | |
indent_size = 2 | |
# Dotnet code style settings: | |
[*.{cs,vb}] | |
# IDE0055: Fix formatting | |
dotnet_diagnostic.IDE0055.severity = warning | |
# Sort using and Import directives with System.* appearing first | |
dotnet_sort_system_directives_first = true | |
dotnet_separate_import_directive_groups = false | |
# Avoid "this." and "Me." if not necessary | |
dotnet_style_qualification_for_field = false:refactoring | |
dotnet_style_qualification_for_property = false:refactoring | |
dotnet_style_qualification_for_method = false:refactoring | |
dotnet_style_qualification_for_event = false:refactoring | |
# Use language keywords instead of framework type names for type references | |
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | |
dotnet_style_predefined_type_for_member_access = true:suggestion | |
# Suggest more modern language features when available | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_coalesce_expression = true:suggestion | |
dotnet_style_null_propagation = true:suggestion | |
dotnet_style_explicit_tuple_names = true:suggestion | |
# Whitespace options | |
dotnet_style_allow_multiple_blank_lines_experimental = false | |
# Non-private static fields are PascalCase | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | |
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | |
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | |
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | |
# Non-private readonly fields are PascalCase | |
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields | |
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style | |
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field | |
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | |
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly | |
dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case | |
# Constants are PascalCase | |
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | |
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style | |
dotnet_naming_symbols.constants.applicable_kinds = field, local | |
dotnet_naming_symbols.constants.required_modifiers = const | |
dotnet_naming_style.constant_style.capitalization = pascal_case | |
# Static fields are camelCase and start with s_ | |
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields | |
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style | |
dotnet_naming_symbols.static_fields.applicable_kinds = field | |
dotnet_naming_symbols.static_fields.required_modifiers = static | |
dotnet_naming_style.static_field_style.capitalization = camel_case | |
dotnet_naming_style.static_field_style.required_prefix = s_ | |
# Instance fields are camelCase and start with _ | |
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | |
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style | |
dotnet_naming_symbols.instance_fields.applicable_kinds = field | |
dotnet_naming_style.instance_field_style.capitalization = camel_case | |
dotnet_naming_style.instance_field_style.required_prefix = _ | |
# Locals and parameters are camelCase | |
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | |
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | |
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | |
dotnet_naming_style.camel_case_style.capitalization = camel_case | |
# Local functions are PascalCase | |
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions | |
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style | |
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | |
dotnet_naming_style.local_function_style.capitalization = pascal_case | |
# By default, name items with PascalCase | |
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members | |
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style | |
dotnet_naming_symbols.all_members.applicable_kinds = * | |
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | |
# CSharp code style settings: | |
[*.cs] | |
# Newline settings | |
csharp_new_line_before_open_brace = all | |
csharp_new_line_before_else = true | |
csharp_new_line_before_catch = true | |
csharp_new_line_before_finally = true | |
csharp_new_line_before_members_in_object_initializers = true | |
csharp_new_line_before_members_in_anonymous_types = true | |
csharp_new_line_between_query_expression_clauses = true | |
# Indentation preferences | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents = true | |
csharp_indent_case_contents_when_block = true | |
csharp_indent_switch_labels = true | |
csharp_indent_labels = flush_left | |
# Whitespace options | |
csharp_style_allow_embedded_statements_on_same_line_experimental = false | |
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false | |
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false | |
# Prefer "var" everywhere | |
csharp_style_var_for_built_in_types = true:suggestion | |
csharp_style_var_when_type_is_apparent = true:suggestion | |
csharp_style_var_elsewhere = true:suggestion | |
# Prefer method-like constructs to have a block body | |
csharp_style_expression_bodied_methods = false:none | |
csharp_style_expression_bodied_constructors = false:none | |
csharp_style_expression_bodied_operators = false:none | |
# Prefer property-like constructs to have an expression-body | |
csharp_style_expression_bodied_properties = true:none | |
csharp_style_expression_bodied_indexers = true:none | |
csharp_style_expression_bodied_accessors = true:none | |
# Suggest more modern language features when available | |
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | |
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | |
csharp_style_inlined_variable_declaration = true:suggestion | |
csharp_style_throw_expression = true:suggestion | |
csharp_style_conditional_delegate_call = true:suggestion | |
# Space preferences | |
csharp_space_after_cast = false | |
csharp_space_after_colon_in_inheritance_clause = true | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_binary_operators = before_and_after | |
csharp_space_around_declaration_statements = do_not_ignore | |
csharp_space_before_colon_in_inheritance_clause = true | |
csharp_space_before_comma = false | |
csharp_space_before_dot = false | |
csharp_space_before_open_square_brackets = false | |
csharp_space_before_semicolon_in_for_statement = false | |
csharp_space_between_empty_square_brackets = false | |
csharp_space_between_method_call_empty_parameter_list_parentheses = false | |
csharp_space_between_method_call_name_and_opening_parenthesis = false | |
csharp_space_between_method_call_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_name_and_open_parenthesis = false | |
csharp_space_between_method_declaration_parameter_list_parentheses = false | |
csharp_space_between_parentheses = false | |
csharp_space_between_square_brackets = false | |
# Blocks are allowed | |
csharp_prefer_braces = true:silent | |
csharp_preserve_single_line_blocks = true | |
csharp_preserve_single_line_statements = true | |
# Currently only enabled for C# due to crash in VB analyzer. VB can be enabled once | |
# https://github.com/dotnet/roslyn/pull/54259 has been published. | |
dotnet_style_allow_statement_immediately_after_block_experimental = false | |
[Program.cs] | |
# CA1812: インスタンス化されていない内部クラスの警告 | |
dotnet_diagnostic.CA1812.severity = none | |
[*.{cs,vb}] | |
# CA1018: Mark attributes with AttributeUsageAttribute | |
dotnet_diagnostic.CA1018.severity = warning | |
# CA1047: Do not declare protected member in sealed type | |
dotnet_diagnostic.CA1047.severity = warning | |
# CA1305: Specify IFormatProvider | |
dotnet_diagnostic.CA1305.severity = warning | |
# CA1507: Use nameof to express symbol names | |
dotnet_diagnostic.CA1507.severity = warning | |
# CA1725: Parameter names should match base declaration | |
dotnet_diagnostic.CA1725.severity = suggestion | |
# CA1802: Use literals where appropriate | |
dotnet_diagnostic.CA1802.severity = warning | |
# CA1805: Do not initialize unnecessarily | |
dotnet_diagnostic.CA1805.severity = warning | |
# CA1810: Do not initialize unnecessarily | |
dotnet_diagnostic.CA1810.severity = suggestion | |
# CA1821: Remove empty Finalizers | |
dotnet_diagnostic.CA1821.severity = warning | |
# CA1822: Make member static | |
dotnet_diagnostic.CA1822.severity = suggestion | |
# CA1823: Avoid unused private fields | |
dotnet_diagnostic.CA1823.severity = warning | |
# CA1825: Avoid zero-length array allocations | |
dotnet_diagnostic.CA1825.severity = warning | |
# CA1826: Do not use Enumerable methods on indexable collections. Instead use the collection directly | |
dotnet_diagnostic.CA1826.severity = warning | |
# CA1827: Do not use Count() or LongCount() when Any() can be used | |
dotnet_diagnostic.CA1827.severity = warning | |
# CA1828: Do not use CountAsync() or LongCountAsync() when AnyAsync() can be used | |
dotnet_diagnostic.CA1828.severity = warning | |
# CA1829: Use Length/Count property instead of Count() when available | |
dotnet_diagnostic.CA1829.severity = warning | |
# CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder | |
dotnet_diagnostic.CA1830.severity = warning | |
# CA1831: Use AsSpan or AsMemory instead of Range-based indexers when appropriate | |
# CA1832: Use AsSpan or AsMemory instead of Range-based indexers when appropriate | |
# CA1833: Use AsSpan or AsMemory instead of Range-based indexers when appropriate | |
dotnet_diagnostic.CA1831.severity = warning | |
dotnet_diagnostic.CA1832.severity = warning | |
dotnet_diagnostic.CA1833.severity = warning | |
# CA1834: Consider using 'StringBuilder.Append(char)' when applicable | |
dotnet_diagnostic.CA1834.severity = warning | |
# CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync' | |
dotnet_diagnostic.CA1835.severity = warning | |
# CA1836: Prefer IsEmpty over Count | |
dotnet_diagnostic.CA1836.severity = warning | |
# CA1837: Use 'Environment.ProcessId' | |
dotnet_diagnostic.CA1837.severity = warning | |
# CA1838: Avoid 'StringBuilder' parameters for P/Invokes | |
dotnet_diagnostic.CA1838.severity = warning | |
# CA1839: Use 'Environment.ProcessPath' | |
dotnet_diagnostic.CA1839.severity = warning | |
# CA1840: Use 'Environment.CurrentManagedThreadId' | |
dotnet_diagnostic.CA1840.severity = warning | |
# CA1841: Prefer Dictionary.Contains methods | |
dotnet_diagnostic.CA1841.severity = warning | |
# CA1842: Do not use 'WhenAll' with a single task | |
dotnet_diagnostic.CA1842.severity = warning | |
# CA1843: Do not use 'WaitAll' with a single task | |
dotnet_diagnostic.CA1843.severity = warning | |
# CA1845: Use span-based 'string.Concat' | |
dotnet_diagnostic.CA1845.severity = warning | |
# CA1846: Prefer AsSpan over Substring | |
dotnet_diagnostic.CA1846.severity = warning | |
# CA2007: Do not directly await a Task | |
# ASP.NET Core の場合は ConfigureAwait(false) を呼び出さなくても問題ありません | |
# デスクトップアプリや .NET Framework の ASP.NET アプリケーションなど、同期コンテキストが存在する場合は影響を受けるので注意 | |
dotnet_diagnostic.CA2007.severity = suggestion | |
# CA2008: Do not create tasks without passing a TaskScheduler | |
dotnet_diagnostic.CA2008.severity = warning | |
# CA2009: Do not call ToImmutableCollection on an ImmutableCollection value | |
dotnet_diagnostic.CA2009.severity = warning | |
# CA2011: Avoid infinite recursion | |
dotnet_diagnostic.CA2011.severity = warning | |
# CA2012: Use ValueTask correctly | |
dotnet_diagnostic.CA2012.severity = warning | |
# CA2013: Do not use ReferenceEquals with value types | |
dotnet_diagnostic.CA2013.severity = warning | |
# CA2014: Do not use stackalloc in loops. | |
dotnet_diagnostic.CA2014.severity = warning | |
# CA2016: Forward the 'CancellationToken' parameter to methods that take one | |
dotnet_diagnostic.CA2016.severity = warning | |
# CA2200: Rethrow to preserve stack details | |
dotnet_diagnostic.CA2200.severity = warning | |
# CA2208: Instantiate argument exceptions correctly | |
dotnet_diagnostic.CA2208.severity = warning | |
# CA5394: 安全でない乱数ジェネレータを使用しています | |
dotnet_diagnostic.CA5394.severity = suggestion | |
# IDE0035: Remove unreachable code | |
dotnet_diagnostic.IDE0035.severity = warning | |
# IDE0036: Order modifiers | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | |
dotnet_diagnostic.IDE0036.severity = warning | |
# IDE0043: Format string contains invalid placeholder | |
dotnet_diagnostic.IDE0043.severity = warning | |
# IDE0044: Make field readonly | |
dotnet_diagnostic.IDE0044.severity = warning | |
# IDE0161: Convert to file-scoped namespace | |
dotnet_diagnostic.IDE0161.severity = warning | |
# SYSLIB10: 複数のログ記録方法でクラス {class} 内のイベント ID {id} を使用しています | |
dotnet_diagnostic.SYSLIB1006.severity = none | |
[**/{test,samples,perf}/**.{cs,vb}] | |
# CA1018: Mark attributes with AttributeUsageAttribute | |
dotnet_diagnostic.CA1018.severity = suggestion | |
# CA1507: Use nameof to express symbol names | |
dotnet_diagnostic.CA1507.severity = suggestion | |
# CA1802: Use literals where appropriate | |
dotnet_diagnostic.CA1802.severity = suggestion | |
# CA1805: Do not initialize unnecessarily | |
dotnet_diagnostic.CA1805.severity = suggestion | |
# CA1823: Avoid zero-length array allocations | |
dotnet_diagnostic.CA1825.severity = suggestion | |
# CA1826: Do not use Enumerable methods on indexable collections. Instead use the collection directly | |
dotnet_diagnostic.CA1826.severity = suggestion | |
# CA1827: Do not use Count() or LongCount() when Any() can be used | |
dotnet_diagnostic.CA1827.severity = suggestion | |
# CA1829: Use Length/Count property instead of Count() when available | |
dotnet_diagnostic.CA1829.severity = suggestion | |
# CA1834: Consider using 'StringBuilder.Append(char)' when applicable | |
dotnet_diagnostic.CA1834.severity = suggestion | |
# CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync' | |
dotnet_diagnostic.CA1835.severity = suggestion | |
# CA1837: Use 'Environment.ProcessId' | |
dotnet_diagnostic.CA1837.severity = suggestion | |
# CA1838: Avoid 'StringBuilder' parameters for P/Invokes | |
dotnet_diagnostic.CA1838.severity = suggestion | |
# CA1841: Prefer Dictionary.Contains methods | |
dotnet_diagnostic.CA1841.severity = suggestion | |
# CA1844: Provide memory-based overrides of async methods when subclassing 'Stream' | |
dotnet_diagnostic.CA1844.severity = suggestion | |
# CA1845: Use span-based 'string.Concat' | |
dotnet_diagnostic.CA1845.severity = suggestion | |
# CA1846: Prefer AsSpan over Substring | |
dotnet_diagnostic.CA1846.severity = suggestion | |
# CA2008: Do not create tasks without passing a TaskScheduler | |
dotnet_diagnostic.CA2008.severity = suggestion | |
# CA2012: Use ValueTask correctly | |
dotnet_diagnostic.CA2012.severity = suggestion | |
# CA2016: Forward the 'CancellationToken' parameter to methods that take one | |
dotnet_diagnostic.CA2016.severity = suggestion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment