685 строки
32 KiB
INI
685 строки
32 KiB
INI
# Version: 4.1.1 (Using https://semver.org/)
|
|
# Updated: 2022-05-23
|
|
# See https://github.com/RehanSaeed/EditorConfig/releases for release notes.
|
|
# See https://github.com/RehanSaeed/EditorConfig for updates to this file.
|
|
# See http://EditorConfig.org for more information about .editorconfig files.
|
|
|
|
##########################################
|
|
# Common Settings
|
|
##########################################
|
|
|
|
# This file is the top-most EditorConfig file
|
|
root = true
|
|
|
|
# All Files
|
|
[*]
|
|
charset = utf-8
|
|
indent_style = space
|
|
indent_size = 4
|
|
insert_final_newline = true
|
|
trim_trailing_whitespace = true
|
|
|
|
##########################################
|
|
# File Extension Settings
|
|
##########################################
|
|
|
|
# Visual Studio Solution Files
|
|
[*.sln]
|
|
indent_style = tab
|
|
|
|
# Visual Studio XML Project Files
|
|
[*.{csproj,vbproj,vcxproj.filters,proj,projitems,shproj}]
|
|
indent_size = 2
|
|
|
|
# XML Configuration Files
|
|
[*.{xml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct}]
|
|
indent_size = 2
|
|
|
|
# JSON Files
|
|
[*.{json,json5,webmanifest}]
|
|
indent_size = 2
|
|
|
|
# YAML Files
|
|
[*.{yml,yaml}]
|
|
indent_size = 2
|
|
|
|
# Markdown Files
|
|
[*.{md,mdx}]
|
|
trim_trailing_whitespace = false
|
|
|
|
# Web Files
|
|
[*.{htm,html,js,jsm,ts,tsx,cjs,cts,ctsx,mjs,mts,mtsx,css,sass,scss,less,pcss,svg,vue}]
|
|
indent_size = 2
|
|
|
|
# Batch Files
|
|
[*.{cmd,bat}]
|
|
end_of_line = crlf
|
|
|
|
# Bash Files
|
|
[*.sh]
|
|
end_of_line = lf
|
|
|
|
# Makefiles
|
|
[Makefile]
|
|
indent_style = tab
|
|
|
|
##########################################
|
|
# Default .NET Code Style Severities
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/configuration-options#scope
|
|
##########################################
|
|
|
|
[*.{cs,csx,cake,vb,vbx}]
|
|
# Default Severity for all .NET Code Style rules below
|
|
dotnet_analyzer_diagnostic.severity = warning
|
|
|
|
##########################################
|
|
# Language Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/language-rules
|
|
##########################################
|
|
|
|
# .NET Style Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/language-rules#net-style-rules
|
|
[*.{cs,csx,cake,vb,vbx}]
|
|
# "this." and "Me." qualifiers
|
|
dotnet_style_qualification_for_field = true:warning
|
|
dotnet_style_qualification_for_property = true:warning
|
|
dotnet_style_qualification_for_method = true:warning
|
|
dotnet_style_qualification_for_event = true:warning
|
|
# Language keywords instead of framework type names for type references
|
|
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
|
|
dotnet_style_predefined_type_for_member_access = true:warning
|
|
# Modifier preferences
|
|
dotnet_style_require_accessibility_modifiers = always:warning
|
|
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:warning
|
|
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:warning
|
|
dotnet_style_readonly_field = true:warning
|
|
# Parentheses preferences
|
|
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning
|
|
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning
|
|
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning
|
|
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:warning
|
|
# Expression-level preferences
|
|
dotnet_style_object_initializer = true:warning
|
|
dotnet_style_collection_initializer = true:warning
|
|
dotnet_style_explicit_tuple_names = true:warning
|
|
dotnet_style_prefer_inferred_tuple_names = true:warning
|
|
dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
|
|
dotnet_style_prefer_auto_properties = true:warning
|
|
dotnet_style_prefer_conditional_expression_over_assignment = false:suggestion
|
|
dotnet_diagnostic.IDE0045.severity = suggestion
|
|
dotnet_style_prefer_conditional_expression_over_return = false:suggestion
|
|
dotnet_diagnostic.IDE0046.severity = suggestion
|
|
dotnet_style_prefer_compound_assignment = true:warning
|
|
dotnet_style_prefer_simplified_interpolation = true:warning
|
|
dotnet_style_prefer_simplified_boolean_expressions = true:warning
|
|
# Null-checking preferences
|
|
dotnet_style_coalesce_expression = true:warning
|
|
dotnet_style_null_propagation = true:warning
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
|
|
# File header preferences
|
|
# file_header_template = <copyright file="{fileName}" company="PROJECT-AUTHOR">\n© PROJECT-AUTHOR\n</copyright>
|
|
# If you use StyleCop, you'll need to disable SA1636: File header copyright text should match.
|
|
# dotnet_diagnostic.SA1636.severity = none
|
|
# Undocumented
|
|
dotnet_style_operator_placement_when_wrapping = end_of_line:warning
|
|
csharp_style_prefer_null_check_over_type_check = true:warning
|
|
|
|
# C# Style Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/language-rules#c-style-rules
|
|
[*.{cs,csx,cake}]
|
|
# 'var' preferences
|
|
csharp_style_var_for_built_in_types = true:warning
|
|
csharp_style_var_when_type_is_apparent = true:warning
|
|
csharp_style_var_elsewhere = true:warning
|
|
# Expression-bodied members
|
|
csharp_style_expression_bodied_methods = true:warning
|
|
csharp_style_expression_bodied_constructors = true:warning
|
|
csharp_style_expression_bodied_operators = true:warning
|
|
csharp_style_expression_bodied_properties = true:warning
|
|
csharp_style_expression_bodied_indexers = true:warning
|
|
csharp_style_expression_bodied_accessors = true:warning
|
|
csharp_style_expression_bodied_lambdas = true:warning
|
|
csharp_style_expression_bodied_local_functions = true:warning
|
|
# Pattern matching preferences
|
|
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
|
|
csharp_style_pattern_matching_over_as_with_null_check = true:warning
|
|
csharp_style_prefer_switch_expression = true:warning
|
|
csharp_style_prefer_pattern_matching = true:warning
|
|
csharp_style_prefer_not_pattern = true:warning
|
|
# Expression-level preferences
|
|
csharp_style_inlined_variable_declaration = true:warning
|
|
csharp_prefer_simple_default_expression = true:warning
|
|
csharp_style_pattern_local_over_anonymous_function = true:warning
|
|
csharp_style_deconstructed_variable_declaration = true:warning
|
|
csharp_style_prefer_index_operator = true:warning
|
|
csharp_style_prefer_range_operator = true:warning
|
|
csharp_style_implicit_object_creation_when_type_is_apparent = true:warning
|
|
# "Null" checking preferences
|
|
csharp_style_throw_expression = true:warning
|
|
csharp_style_conditional_delegate_call = true:warning
|
|
# Code block preferences
|
|
csharp_prefer_braces = true:warning
|
|
csharp_prefer_simple_using_statement = true:suggestion
|
|
dotnet_diagnostic.IDE0063.severity = suggestion
|
|
# 'using' directive preferences
|
|
csharp_using_directive_placement = inside_namespace:warning
|
|
# Modifier preferences
|
|
csharp_prefer_static_local_function = true:warning
|
|
|
|
##########################################
|
|
# Unnecessary Code Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/unnecessary-code-rules
|
|
##########################################
|
|
|
|
# .NET Unnecessary code rules
|
|
[*.{cs,csx,cake,vb,vbx}]
|
|
dotnet_code_quality_unused_parameters = all:warning
|
|
dotnet_remove_unnecessary_suppression_exclusions = none:warning
|
|
|
|
# C# Unnecessary code rules
|
|
[*.{cs,csx,cake}]
|
|
csharp_style_unused_value_expression_statement_preference = discard_variable:suggestion
|
|
dotnet_diagnostic.IDE0058.severity = suggestion
|
|
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
|
dotnet_diagnostic.IDE0059.severity = suggestion
|
|
|
|
##########################################
|
|
# Formatting Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules
|
|
##########################################
|
|
|
|
# .NET formatting rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#net-formatting-rules
|
|
[*.{cs,csx,cake,vb,vbx}]
|
|
# Organize using directives
|
|
dotnet_sort_system_directives_first = true
|
|
dotnet_separate_import_directive_groups = false
|
|
# Dotnet namespace options
|
|
dotnet_style_namespace_match_folder = true:suggestion
|
|
dotnet_diagnostic.IDE0130.severity = suggestion
|
|
|
|
# C# formatting rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#c-formatting-rules
|
|
[*.{cs,csx,cake}]
|
|
# Newline options
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#new-line-options
|
|
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 options
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#indentation-options
|
|
csharp_indent_case_contents = true
|
|
csharp_indent_switch_labels = true
|
|
csharp_indent_labels = no_change
|
|
csharp_indent_block_contents = true
|
|
csharp_indent_braces = false
|
|
csharp_indent_case_contents_when_block = false
|
|
# Spacing options
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#spacing-options
|
|
csharp_space_after_cast = false
|
|
csharp_space_after_keywords_in_control_flow_statements = true
|
|
csharp_space_between_parentheses = false
|
|
csharp_space_before_colon_in_inheritance_clause = true
|
|
csharp_space_after_colon_in_inheritance_clause = true
|
|
csharp_space_around_binary_operators = before_and_after
|
|
csharp_space_between_method_declaration_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_call_parameter_list_parentheses = false
|
|
csharp_space_between_method_call_empty_parameter_list_parentheses = false
|
|
csharp_space_between_method_call_name_and_opening_parenthesis = false
|
|
csharp_space_after_comma = true
|
|
csharp_space_before_comma = false
|
|
csharp_space_after_dot = false
|
|
csharp_space_before_dot = false
|
|
csharp_space_after_semicolon_in_for_statement = true
|
|
csharp_space_before_semicolon_in_for_statement = false
|
|
csharp_space_around_declaration_statements = false
|
|
csharp_space_before_open_square_brackets = false
|
|
csharp_space_between_empty_square_brackets = false
|
|
csharp_space_between_square_brackets = false
|
|
# Wrap options
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#wrap-options
|
|
csharp_preserve_single_line_statements = false
|
|
csharp_preserve_single_line_blocks = true
|
|
# Namespace options
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/formatting-rules#namespace-options
|
|
csharp_style_namespace_declarations = file_scoped:warning
|
|
|
|
##########################################
|
|
# .NET Naming Rules
|
|
# https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/naming-rules
|
|
##########################################
|
|
|
|
[*.{cs,csx,cake,vb,vbx}]
|
|
|
|
##########################################
|
|
# Styles
|
|
##########################################
|
|
|
|
# camel_case_style - Define the camelCase style
|
|
dotnet_naming_style.camel_case_style.capitalization = camel_case
|
|
# pascal_case_style - Define the PascalCase style
|
|
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
|
|
# first_upper_style - The first character must start with an upper-case character
|
|
dotnet_naming_style.first_upper_style.capitalization = first_word_upper
|
|
# prefix_interface_with_i_style - Interfaces must be PascalCase and the first character of an interface must be an 'I'
|
|
dotnet_naming_style.prefix_interface_with_i_style.capitalization = pascal_case
|
|
dotnet_naming_style.prefix_interface_with_i_style.required_prefix = I
|
|
# prefix_type_parameters_with_t_style - Generic Type Parameters must be PascalCase and the first character must be a 'T'
|
|
dotnet_naming_style.prefix_type_parameters_with_t_style.capitalization = pascal_case
|
|
dotnet_naming_style.prefix_type_parameters_with_t_style.required_prefix = T
|
|
# disallowed_style - Anything that has this style applied is marked as disallowed
|
|
dotnet_naming_style.disallowed_style.capitalization = pascal_case
|
|
dotnet_naming_style.disallowed_style.required_prefix = ____RULE_VIOLATION____
|
|
dotnet_naming_style.disallowed_style.required_suffix = ____RULE_VIOLATION____
|
|
# internal_error_style - This style should never occur... if it does, it indicates a bug in file or in the parser using the file
|
|
dotnet_naming_style.internal_error_style.capitalization = pascal_case
|
|
dotnet_naming_style.internal_error_style.required_prefix = ____INTERNAL_ERROR____
|
|
dotnet_naming_style.internal_error_style.required_suffix = ____INTERNAL_ERROR____
|
|
|
|
##########################################
|
|
# .NET Design Guideline Field Naming Rules
|
|
# Naming rules for fields follow the .NET Framework design guidelines
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/index
|
|
##########################################
|
|
|
|
# All public/protected/protected_internal constant fields must be PascalCase
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/field
|
|
dotnet_naming_symbols.public_protected_constant_fields_group.applicable_accessibilities = public, protected, protected_internal
|
|
dotnet_naming_symbols.public_protected_constant_fields_group.required_modifiers = const
|
|
dotnet_naming_symbols.public_protected_constant_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.public_protected_constant_fields_must_be_pascal_case_rule.symbols = public_protected_constant_fields_group
|
|
dotnet_naming_rule.public_protected_constant_fields_must_be_pascal_case_rule.style = pascal_case_style
|
|
dotnet_naming_rule.public_protected_constant_fields_must_be_pascal_case_rule.severity = warning
|
|
|
|
# All public/protected/protected_internal static readonly fields must be PascalCase
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/field
|
|
dotnet_naming_symbols.public_protected_static_readonly_fields_group.applicable_accessibilities = public, protected, protected_internal
|
|
dotnet_naming_symbols.public_protected_static_readonly_fields_group.required_modifiers = static, readonly
|
|
dotnet_naming_symbols.public_protected_static_readonly_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.public_protected_static_readonly_fields_must_be_pascal_case_rule.symbols = public_protected_static_readonly_fields_group
|
|
dotnet_naming_rule.public_protected_static_readonly_fields_must_be_pascal_case_rule.style = pascal_case_style
|
|
dotnet_naming_rule.public_protected_static_readonly_fields_must_be_pascal_case_rule.severity = warning
|
|
|
|
# No other public/protected/protected_internal fields are allowed
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/field
|
|
dotnet_naming_symbols.other_public_protected_fields_group.applicable_accessibilities = public, protected, protected_internal
|
|
dotnet_naming_symbols.other_public_protected_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.other_public_protected_fields_disallowed_rule.symbols = other_public_protected_fields_group
|
|
dotnet_naming_rule.other_public_protected_fields_disallowed_rule.style = disallowed_style
|
|
dotnet_naming_rule.other_public_protected_fields_disallowed_rule.severity = error
|
|
|
|
##########################################
|
|
# StyleCop Field Naming Rules
|
|
# Naming rules for fields follow the StyleCop analyzers
|
|
# This does not override any rules using disallowed_style above
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers
|
|
##########################################
|
|
|
|
# All constant fields must be PascalCase
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1303.md
|
|
dotnet_naming_symbols.stylecop_constant_fields_group.applicable_accessibilities = public, internal, protected_internal, protected, private_protected, private
|
|
dotnet_naming_symbols.stylecop_constant_fields_group.required_modifiers = const
|
|
dotnet_naming_symbols.stylecop_constant_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.stylecop_constant_fields_must_be_pascal_case_rule.symbols = stylecop_constant_fields_group
|
|
dotnet_naming_rule.stylecop_constant_fields_must_be_pascal_case_rule.style = pascal_case_style
|
|
dotnet_naming_rule.stylecop_constant_fields_must_be_pascal_case_rule.severity = warning
|
|
|
|
# All static readonly fields must be PascalCase
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1311.md
|
|
dotnet_naming_symbols.stylecop_static_readonly_fields_group.applicable_accessibilities = public, internal, protected_internal, protected, private_protected, private
|
|
dotnet_naming_symbols.stylecop_static_readonly_fields_group.required_modifiers = static, readonly
|
|
dotnet_naming_symbols.stylecop_static_readonly_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.stylecop_static_readonly_fields_must_be_pascal_case_rule.symbols = stylecop_static_readonly_fields_group
|
|
dotnet_naming_rule.stylecop_static_readonly_fields_must_be_pascal_case_rule.style = pascal_case_style
|
|
dotnet_naming_rule.stylecop_static_readonly_fields_must_be_pascal_case_rule.severity = warning
|
|
|
|
# No non-private instance fields are allowed
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1401.md
|
|
dotnet_naming_symbols.stylecop_fields_must_be_private_group.applicable_accessibilities = public, internal, protected_internal, protected, private_protected
|
|
dotnet_naming_symbols.stylecop_fields_must_be_private_group.applicable_kinds = field
|
|
dotnet_naming_rule.stylecop_instance_fields_must_be_private_rule.symbols = stylecop_fields_must_be_private_group
|
|
dotnet_naming_rule.stylecop_instance_fields_must_be_private_rule.style = disallowed_style
|
|
dotnet_naming_rule.stylecop_instance_fields_must_be_private_rule.severity = error
|
|
|
|
# Private fields must be camelCase
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1306.md
|
|
dotnet_naming_symbols.stylecop_private_fields_group.applicable_accessibilities = private
|
|
dotnet_naming_symbols.stylecop_private_fields_group.applicable_kinds = field
|
|
dotnet_naming_rule.stylecop_private_fields_must_be_camel_case_rule.symbols = stylecop_private_fields_group
|
|
dotnet_naming_rule.stylecop_private_fields_must_be_camel_case_rule.style = camel_case_style
|
|
dotnet_naming_rule.stylecop_private_fields_must_be_camel_case_rule.severity = warning
|
|
|
|
# Local variables must be camelCase
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1312.md
|
|
dotnet_naming_symbols.stylecop_local_fields_group.applicable_accessibilities = local
|
|
dotnet_naming_symbols.stylecop_local_fields_group.applicable_kinds = local
|
|
dotnet_naming_rule.stylecop_local_fields_must_be_camel_case_rule.symbols = stylecop_local_fields_group
|
|
dotnet_naming_rule.stylecop_local_fields_must_be_camel_case_rule.style = camel_case_style
|
|
dotnet_naming_rule.stylecop_local_fields_must_be_camel_case_rule.severity = silent
|
|
|
|
# This rule should never fire. However, it's included for at least two purposes:
|
|
# First, it helps to understand, reason about, and root-case certain types of issues, such as bugs in .editorconfig parsers.
|
|
# Second, it helps to raise immediate awareness if a new field type is added (as occurred recently in C#).
|
|
dotnet_naming_symbols.sanity_check_uncovered_field_case_group.applicable_accessibilities = *
|
|
dotnet_naming_symbols.sanity_check_uncovered_field_case_group.applicable_kinds = field
|
|
dotnet_naming_rule.sanity_check_uncovered_field_case_rule.symbols = sanity_check_uncovered_field_case_group
|
|
dotnet_naming_rule.sanity_check_uncovered_field_case_rule.style = internal_error_style
|
|
dotnet_naming_rule.sanity_check_uncovered_field_case_rule.severity = error
|
|
|
|
|
|
##########################################
|
|
# Other Naming Rules
|
|
##########################################
|
|
|
|
# All of the following must be PascalCase:
|
|
# - Namespaces
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-namespaces
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1300.md
|
|
# - Classes and Enumerations
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-classes-structs-and-interfaces
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1300.md
|
|
# - Delegates
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-classes-structs-and-interfaces#names-of-common-types
|
|
# - Constructors, Properties, Events, Methods
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-type-members
|
|
dotnet_naming_symbols.element_group.applicable_kinds = namespace, class, enum, struct, delegate, event, method, property
|
|
dotnet_naming_rule.element_rule.symbols = element_group
|
|
dotnet_naming_rule.element_rule.style = pascal_case_style
|
|
dotnet_naming_rule.element_rule.severity = warning
|
|
|
|
# Interfaces use PascalCase and are prefixed with uppercase 'I'
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-classes-structs-and-interfaces
|
|
dotnet_naming_symbols.interface_group.applicable_kinds = interface
|
|
dotnet_naming_rule.interface_rule.symbols = interface_group
|
|
dotnet_naming_rule.interface_rule.style = prefix_interface_with_i_style
|
|
dotnet_naming_rule.interface_rule.severity = warning
|
|
|
|
# Generics Type Parameters use PascalCase and are prefixed with uppercase 'T'
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/names-of-classes-structs-and-interfaces
|
|
dotnet_naming_symbols.type_parameter_group.applicable_kinds = type_parameter
|
|
dotnet_naming_rule.type_parameter_rule.symbols = type_parameter_group
|
|
dotnet_naming_rule.type_parameter_rule.style = prefix_type_parameters_with_t_style
|
|
dotnet_naming_rule.type_parameter_rule.severity = warning
|
|
|
|
# Function parameters use camelCase
|
|
# https://docs.microsoft.com/dotnet/standard/design-guidelines/naming-parameters
|
|
dotnet_naming_symbols.parameters_group.applicable_kinds = parameter
|
|
dotnet_naming_rule.parameters_rule.symbols = parameters_group
|
|
dotnet_naming_rule.parameters_rule.style = camel_case_style
|
|
dotnet_naming_rule.parameters_rule.severity = warning
|
|
|
|
##########################################
|
|
# License
|
|
##########################################
|
|
# The following applies as to the .editorconfig file ONLY, and is
|
|
# included below for reference, per the requirements of the license
|
|
# corresponding to this .editorconfig file.
|
|
# See: https://github.com/RehanSaeed/EditorConfig
|
|
#
|
|
# MIT License
|
|
#
|
|
# Copyright (c) 2017-2019 Muhammad Rehan Saeed
|
|
# Copyright (c) 2019 Henry Gabryjelski
|
|
#
|
|
# Permission is hereby granted, free of charge, to any
|
|
# person obtaining a copy of this software and associated
|
|
# documentation files (the "Software"), to deal in the
|
|
# Software without restriction, including without limitation
|
|
# the rights to use, copy, modify, merge, publish, distribute,
|
|
# sublicense, and/or sell copies of the Software, and to permit
|
|
# persons to whom the Software is furnished to do so, subject
|
|
# to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be
|
|
# included in all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
# OTHER DEALINGS IN THE SOFTWARE.
|
|
##########################################
|
|
|
|
##########################################
|
|
# Custom rules
|
|
##########################################
|
|
[*.cs]
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1623.md
|
|
# Justification: It's noise to start a summary with "Gets" or "Sets"
|
|
dotnet_diagnostic.SA1623.severity = none
|
|
|
|
# See https://github.com/microsoft/component-detection/issues/202
|
|
##########################################
|
|
# Provided by StyleCop.Analyzers
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers
|
|
##########################################
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1600.md
|
|
# Elements should be documented
|
|
dotnet_diagnostic.SA1600.severity = suggestion
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1602.md
|
|
# Enumeration items should be documented
|
|
dotnet_diagnostic.SA1602.severity = suggestion
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1604.md
|
|
# Element documentation should have summary
|
|
dotnet_diagnostic.SA1604.severity = suggestion
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1611.md
|
|
# The documentation for parameter '...' is missing
|
|
dotnet_diagnostic.SA1611.severity = suggestion
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md
|
|
# The file header is missing or not located at the top of the file.
|
|
dotnet_diagnostic.SA1633.severity = suggestion
|
|
|
|
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1642.md
|
|
# Constructor summary documentation should begin with standard text
|
|
dotnet_diagnostic.SA1642.severity = suggestion
|
|
|
|
##########################################
|
|
# Provided by Microsoft.VisualStudio.Threading.Analyzers
|
|
# https://github.com/Microsoft/vs-threading
|
|
##########################################
|
|
|
|
# https://github.com/microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD101.md
|
|
# Avoid using async lambda for a void returning delegate type, because any exceptions not handled by the delegate will crash the process
|
|
dotnet_diagnostic.VSTHRD101.severity = suggestion
|
|
|
|
# https://github.com/microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD111.md
|
|
# Add .ConfigureAwait(bool) to your await expression
|
|
dotnet_diagnostic.VSTHRD111.severity = suggestion
|
|
|
|
##########################################
|
|
# Provided by Roslyn
|
|
# https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/
|
|
##########################################
|
|
|
|
# https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0618
|
|
# '...' is obsolete
|
|
dotnet_diagnostic.CS0618.severity = suggestion
|
|
|
|
# https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1591
|
|
# Missing XML comment for publicly visible type or member '...'
|
|
dotnet_diagnostic.CS1591.severity = suggestion
|
|
|
|
# CA2007: Consider calling ConfigureAwait on the awaited task
|
|
dotnet_diagnostic.CA2007.severity = suggestion
|
|
|
|
# CA1062: Validate arguments of public methods
|
|
dotnet_diagnostic.CA1062.severity = suggestion
|
|
|
|
# CA1819: Properties should not return arrays
|
|
dotnet_diagnostic.CA1819.severity = suggestion
|
|
|
|
# CA1309: Use ordinal string comparison
|
|
dotnet_diagnostic.CA1309.severity = suggestion
|
|
|
|
# CA1031: Do not catch general exception types
|
|
dotnet_diagnostic.CA1031.severity = suggestion
|
|
|
|
# CA1711: Identifiers should not have incorrect suffix
|
|
dotnet_diagnostic.CA1711.severity = suggestion
|
|
|
|
# CA2227: Collection properties should be read only
|
|
dotnet_diagnostic.CA2227.severity = suggestion
|
|
|
|
# CA1310: Specify StringComparison for correctness
|
|
dotnet_diagnostic.CA1310.severity = suggestion
|
|
|
|
# CA1002: Do not expose generic lists
|
|
dotnet_diagnostic.CA1002.severity = suggestion
|
|
|
|
# CA1305: Specify IFormatProvider
|
|
dotnet_diagnostic.CA1305.severity = suggestion
|
|
|
|
# CA1051: Do not declare visible instance fields
|
|
dotnet_diagnostic.CA1051.severity = suggestion
|
|
|
|
# CA2211: Non-constant fields should not be visible
|
|
dotnet_diagnostic.CA2211.severity = suggestion
|
|
|
|
# CA2251: Use 'string.Equals'
|
|
dotnet_diagnostic.CA2251.severity = suggestion
|
|
|
|
# CA1304: Specify CultureInfo
|
|
dotnet_diagnostic.CA1304.severity = suggestion
|
|
|
|
# CA1822: Mark members as static
|
|
dotnet_diagnostic.CA1822.severity = suggestion
|
|
|
|
# CA1307: Specify StringComparison for clarity
|
|
dotnet_diagnostic.CA1307.severity = suggestion
|
|
|
|
# CA1806: Do not ignore method results
|
|
dotnet_diagnostic.CA1806.severity = suggestion
|
|
|
|
# CA1303: Do not pass literals as localized parameters
|
|
dotnet_diagnostic.CA1303.severity = suggestion
|
|
|
|
# CA1028: Enum Storage should be Int32
|
|
dotnet_diagnostic.CA1028.severity = suggestion
|
|
|
|
# CA1034: Nested types should not be visible
|
|
dotnet_diagnostic.CA1034.severity = suggestion
|
|
|
|
# CA1054: URI-like parameters should not be strings
|
|
dotnet_diagnostic.CA1054.severity = suggestion
|
|
|
|
# CA1027: Mark enums with FlagsAttribute
|
|
dotnet_diagnostic.CA1027.severity = suggestion
|
|
|
|
# CA1056: URI-like properties should not be strings
|
|
dotnet_diagnostic.CA1056.severity = suggestion
|
|
|
|
# CA2000: Dispose objects before losing scope
|
|
dotnet_diagnostic.CA2000.severity = suggestion
|
|
|
|
# CA1014: Mark assemblies with CLSCompliantAttribute
|
|
dotnet_diagnostic.CA1014.severity = none
|
|
|
|
# CA1824: Mark assemblies with NeutralResourcesLanguageAttribute
|
|
dotnet_diagnostic.CA1824.severity = none
|
|
|
|
# CA2219: Do not raise exceptions in finally clauses
|
|
dotnet_diagnostic.CA2219.severity = suggestion
|
|
|
|
# CA1036: Override methods on comparable types
|
|
dotnet_diagnostic.CA1036.severity = suggestion
|
|
|
|
# CA1001: Types that own disposable fields should be disposable
|
|
dotnet_diagnostic.CA1001.severity = suggestion
|
|
|
|
# CA1064: Exceptions should be public
|
|
dotnet_diagnostic.CA1064.severity = suggestion
|
|
|
|
# CA1837: Use 'Environment.ProcessId'
|
|
dotnet_diagnostic.CA1837.severity = suggestion
|
|
|
|
# CA1024: Use properties where appropriate
|
|
dotnet_diagnostic.CA1024.severity = suggestion
|
|
|
|
# SA1202: Elements should be ordered by access
|
|
dotnet_diagnostic.SA1202.severity = suggestion
|
|
|
|
# IDE0022: Use expression body for methods
|
|
dotnet_diagnostic.IDE0022.severity = suggestion
|
|
|
|
# IDE0090: Simplify new expression
|
|
dotnet_diagnostic.IDE0090.severity = suggestion
|
|
|
|
# IDE0065: 'using' directive placement
|
|
dotnet_diagnostic.IDE0065.severity = suggestion
|
|
|
|
# IDE0160 and IDE0161: Namespace declaration preferences
|
|
dotnet_diagnostic.IDE0160.severity = suggestion
|
|
dotnet_diagnostic.IDE0161.severity = suggestion
|
|
|
|
# IDE1006: Naming rule violation
|
|
dotnet_diagnostic.IDE1006.severity = suggestion
|
|
|
|
# IDE0060: Remove unused parameter
|
|
dotnet_diagnostic.IDE0060.severity = suggestion
|
|
|
|
# IDE0025: Use expression body for properties
|
|
dotnet_diagnostic.IDE0025.severity = suggestion
|
|
|
|
# IDE0034: 'default' expression can be simplified
|
|
dotnet_diagnostic.IDE0034.severity = suggestion
|
|
|
|
# IDE0036: Modifiers are not ordered
|
|
dotnet_diagnostic.IDE0036.severity = suggestion
|
|
|
|
# IDE0078: Use pattern matching (may change code meaning)
|
|
dotnet_diagnostic.IDE0078.severity = suggestion
|
|
|
|
# IDE0083: Use pattern matchin
|
|
dotnet_diagnostic.IDE0083.severity = suggestion
|
|
|
|
# IDE0027: Use expression body for accessors
|
|
dotnet_diagnostic.IDE0027.severity = suggestion
|
|
|
|
# CA1724: Type names should not match namespaces
|
|
dotnet_diagnostic.CA1724.severity = suggestion
|
|
|
|
# IL3000: always returns an empty string for assemblies embedded in a single-file app.
|
|
dotnet_diagnostic.IL3000.severity = suggestion
|
|
|
|
# IDE0052: Remove unread private member
|
|
dotnet_diagnostic.IDE0052.severity = suggestion
|
|
|
|
# IDE0053: Use expression body for lambdas
|
|
dotnet_diagnostic.IDE0053.severity = suggestion
|
|
|
|
# IDE0200: Lambda expression can be removed
|
|
dotnet_diagnostic.IDE0200.severity = suggestion
|
|
|
|
# CA1311: Use ToLowerInvariant/ToUpperInvariant
|
|
dotnet_diagnostic.CA1311.severity = suggestion
|
|
|
|
# CA1852: Type can be sealed
|
|
dotnet_diagnostic.CA1852.severity = suggestion
|
|
|
|
# CA1854: Prefer the IDictionary.TryGetValue(TKey, out TValue) method
|
|
dotnet_diagnostic.CA1854.severity = suggestion
|
|
|
|
# CA1848: Use the LoggerMessage delegates
|
|
dotnet_diagnostic.CA1848.severity = suggestion
|
|
|
|
# JSON002: Probable JSON string detected
|
|
dotnet_diagnostic.JSON002.severity = suggestion
|
|
|
|
# Workaround for https://github.com/dotnet/roslyn-analyzers/issues/5628
|
|
[Program.cs]
|
|
dotnet_diagnostic.ca1812.severity = none
|