root = true [*] indent_style = tab indent_size = tab tab_width = 4 charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.cs] tab_size = 4 [*.{xml,config,*proj,nuspec,props,resx,targets,yml,tasks}] tab_size = 2 [*.{htm,html,js,jsm,ts,tsx,css,sass,scss,less,svg,vue}] tab_size = 2 [*.json] tab_size = 2 [*.{ps1,psm1}] tab_size = 4 [*.sh] tab_size = 4 end_of_line = lf [*.{yml,yaml}] indent_style = space tab_size = 2 [*.md] trim_trailing_whitespace = false [*.{cmd,bat}] end_of_line = crlf [Makefile] indent_style = tab ########################################## # .NET Language Conventions # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions ########################################## # Default Severity for .NET Code Style # https://docs.microsoft.com/dotnet/fundamentals/code-analysis/configuration-options#scope dotnet_analyzer_diagnostic.severity = error # Misc preferences file_header_template = unset # IDE0073 dotnet_sort_system_directives_first = true dotnet_separate_import_directive_groups = false # .NET Code Style Settings # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#net-code-style-settings [*.{cs,csx,cake}] # "this." and "Me." qualifiers # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#this-and-me dotnet_style_qualification_for_field = false dotnet_style_qualification_for_property = false dotnet_style_qualification_for_method = false dotnet_style_qualification_for_event = false # Language keywords instead of framework type names for type references # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#language-keywords dotnet_style_predefined_type_for_locals_parameters_members = true # IDE0049 dotnet_style_predefined_type_for_member_access = true # IDE0049 # Modifier preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#normalize-modifiers dotnet_style_require_accessibility_modifiers = always # IDE0040 csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async # IDE0036 dotnet_style_readonly_field = true # IDE0044 # Parentheses preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#parentheses-preferences dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity # IDE0047 and IDE0048 dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity # IDE0047 and IDE0048 dotnet_style_parentheses_in_other_binary_operators = always_for_clarity # IDE0047 and IDE0048 dotnet_style_parentheses_in_other_operators = always_for_clarity # IDE0047 and IDE0048 # Expression-level preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#expression-level-preferences dotnet_style_object_initializer = true # IDE0017 dotnet_style_collection_initializer = true # IDE0028 dotnet_style_explicit_tuple_names = true # IDE0033 dotnet_style_prefer_inferred_tuple_names = true # IDE0037 dotnet_style_prefer_inferred_anonymous_type_member_names = true # IDE0037 dotnet_style_prefer_auto_properties = true # IDE0050 dotnet_style_prefer_is_null_check_over_reference_equality_method = true # IDE0041 dotnet_style_prefer_conditional_expression_over_assignment = true # IDE0045 dotnet_style_prefer_conditional_expression_over_return = true # IDE0046 dotnet_style_prefer_compound_assignment = true # IDE0054 and IDE0074 dotnet_style_prefer_simplified_interpolation = true # IDE0071 dotnet_style_prefer_simplified_boolean_expressions = true # IDE0075 # Null-checking preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#null-checking-preferences dotnet_style_coalesce_expression = true # IDE0029 and IDE0030 dotnet_style_null_propagation = true # IDE0031 # Parameter preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#parameter-preferences dotnet_code_quality_unused_parameters = all # IDE0060 # Suppression preferences dotnet_remove_unnecessary_suppression_exclusions = none # IDE0079 # More style options (Undocumented) # https://github.com/MicrosoftDocs/visualstudio-docs/issues/3641 dotnet_style_operator_placement_when_wrapping = end_of_line # C# Code Style Settings # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#c-code-style-settings [*.{cs,csx,cake}] # Implicit and explicit types # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#implicit-and-explicit-types csharp_style_var_for_built_in_types = true # IDE0007 and IDE0008 csharp_style_var_when_type_is_apparent = true # IDE0007 and IDE0008 csharp_style_var_elsewhere = true # IDE0007 and IDE0008 # Expression-bodied members # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#expression-bodied-members csharp_style_expression_bodied_constructors = when_on_single_line # IDE0021 csharp_style_expression_bodied_methods = true # IDE0022 csharp_style_expression_bodied_operators = true # IDE0023 and IDE0024 csharp_style_expression_bodied_properties = true # IDE0025 csharp_style_expression_bodied_indexers = true # IDE0026 csharp_style_expression_bodied_accessors = true # IDE0027 csharp_style_expression_bodied_lambdas = true # IDE0053 csharp_style_expression_bodied_local_functions = true # IDE0061 # Pattern matching # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#pattern-matching csharp_style_pattern_matching_over_as_with_null_check = true # IDE0019 csharp_style_pattern_matching_over_is_with_cast_check = true # IDE0020 csharp_style_prefer_switch_expression = true:suggestion # IDE0066 csharp_style_prefer_pattern_matching = true:silent # IDE0078 csharp_style_prefer_not_pattern = true:suggestion # IDE0083 # Inlined variable declarations # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#inlined-variable-declarations csharp_style_inlined_variable_declaration = true # IDE0018 # Expression-level preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#expression-level-preferences csharp_prefer_simple_default_expression = true # IDE0034 # "Null" checking preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#c-null-checking-preferences csharp_style_throw_expression = true # IDE0016 csharp_style_conditional_delegate_call = true # IDE1005 # Code block preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#code-block-preferences csharp_prefer_braces = true # IDE0011 # Unused value preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#unused-value-preferences csharp_style_unused_value_expression_statement_preference = discard_variable # IDE0058 csharp_style_unused_value_assignment_preference = discard_variable # IDE0059 # Index and range preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#index-and-range-preferences csharp_style_prefer_index_operator = true # IDE0056 csharp_style_prefer_range_operator = true # IDE0057 # Miscellaneous preferences # https://docs.microsoft.com/visualstudio/ide/editorconfig-language-conventions#miscellaneous-preferences csharp_style_pattern_local_over_anonymous_function = true # IDE0039 csharp_style_deconstructed_variable_declaration = true # IDE0042 csharp_prefer_static_local_function = true # IDE0062 csharp_prefer_simple_using_statement = true # IDE0063 csharp_using_directive_placement = outside_namespace # IDE0065 ########################################## # .NET Formatting Conventions # https://docs.microsoft.com/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions ########################################## # Newline options # https://docs.microsoft.com/visualstudio/ide/editorconfig-formatting-conventions#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/visualstudio/ide/editorconfig-formatting-conventions#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/visualstudio/ide/editorconfig-formatting-conventions#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 # Wrapping options # https://docs.microsoft.com/visualstudio/ide/editorconfig-formatting-conventions#wrap-options csharp_preserve_single_line_statements = false csharp_preserve_single_line_blocks = true csharp_style_namespace_declarations = file_scoped:warning ########################################## # .NET Naming Conventions # https://docs.microsoft.com/visualstudio/ide/editorconfig-naming-conventions ########################################## [*.{cs,csx,cake}] ########################################## # 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 = dotnet_naming_style.disallowed_style.required_suffix = # 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 = dotnet_naming_style.internal_error_style.required_suffix = ########################################## # .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 ########################################## ########################################## # Code Analyzers Rules ########################################## # AsyncFixer # http://www.asyncfixer.com # Meziantou # https://www.meziantou.net/enforcing-asynchronous-code-good-practices-using-a-roslyn-analyzer.htm dotnet_diagnostic.MA0003.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0003.md dotnet_diagnostic.MA0004.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0004.md dotnet_diagnostic.MA0016.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0016.md dotnet_diagnostic.MA0025.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0025.md dotnet_diagnostic.MA0026.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0026.md dotnet_diagnostic.MA0028.severity = none # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/Meziantou/MA0028.md # Microsoft - Code Analysis # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ dotnet_diagnostic.CA1707.severity = error # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA1707.md dotnet_diagnostic.CA2007.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/MicrosoftCodeAnalysis/CA2007.md # SonarAnalyzer.CSharp # https://rules.sonarsource.com/csharp dotnet_diagnostic.S1135.severity = suggestion # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/SonarAnalyzerCSharp/S1135.md ########################################## # Custom - Code Analyzers Rules ########################################## # Visual Studio dotnet_diagnostic.IDE0079.severity = warning # IDE0079: Remove unnecessary suppression # AsyncFixer # Meziantou dotnet_diagnostic.MA0004.severity = none # MA0004: Use .ConfigureAwait(false) dotnet_diagnostic.MA0012.severity = none # MA0012: Do not raise reserved exception type dotnet_diagnostic.MA0015.severity = suggestion # MA0015: Specify the parameter name dotnet_diagnostic.MA0018.severity = none # MA0018: Do not declare static members on generic types - same as CA1000 # Microsoft - Code Analysis # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ dotnet_diagnostic.CA1014.severity = none # CA1014: Mark assemblies with CLSCompliant dotnet_diagnostic.CA1031.severity = suggestion # CA1031: Do not catch general exception types dotnet_diagnostic.CA1032.severity = none # CA1032: Implement standard exception constructors dotnet_diagnostic.CA2201.severity = suggestion # CA2201: Do not raise reserved exception types # SonarAnalyzer.CSharp # https://rules.sonarsource.com/csharp dotnet_diagnostic.S112.severity = none # S112: General exceptions should never be thrown dotnet_diagnostic.S1075.severity = suggestion # S1075: URIs should not be hardcoded dotnet_diagnostic.S1186.severity = suggestion # S1186: Methods should not be empty dotnet_diagnostic.S2292.severity = suggestion # S2292: Trivial properties should be auto-implemented dotnet_diagnostic.S3267.severity = suggestion # S3267: Convert foreach loop to LINQ query dotnet_diagnostic.S4158.severity = none # BUGGY with C#9 code - doesnt understand local methods # Razor specific rules [*.{cs,razor}] dotnet_diagnostic.BL0001.severity = none dotnet_diagnostic.BL0002.severity = none dotnet_diagnostic.BL0003.severity = none dotnet_diagnostic.BL0004.severity = none dotnet_diagnostic.BL0005.severity = none dotnet_diagnostic.BL0006.severity = none dotnet_diagnostic.BL0007.severity = none ########################################## # Custom Test Code Analyzers Rules ########################################## [tests/**.cs] # Visual Studio csharp_style_pattern_local_over_anonymous_function = false # IDE0039: Use local function # AsyncFixer # http://www.asyncfixer.com dotnet_diagnostic.AsyncFixer01.severity = none # AsyncFixer01: Unnecessary async/await usage # Meziantou # https://www.meziantou.net/enforcing-asynchronous-code-good-practices-using-a-roslyn-analyzer.htm dotnet_diagnostic.MA0006.severity = suggestion # MA0006: use String.Equals dotnet_diagnostic.MA0007.severity = none # MA0007: Add a comma after the last value dotnet_diagnostic.MA0048.severity = silent # MA0048: File name must match type name # Microsoft - Code Analysis # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ dotnet_diagnostic.CA1054.severity = none # CA1054: URI-like parameters should not be strings dotnet_diagnostic.CA1062.severity = none # CA1062: Validate arguments of public methods dotnet_diagnostic.CA1707.severity = none # CA1707: Identifiers should not contain underscores dotnet_diagnostic.CA1812.severity = none # CA1812: Avoid uninstantiated internal classes - components under test are never instantiated directly. dotnet_diagnostic.CA1822.severity = suggestion # CA1822: Mark members as static dotnet_diagnostic.CA2007.severity = none # CA2007: Consider calling ConfigureAwait on the awaited task # Microsoft - FxCop # https://github.com/dotnet/roslyn-analyzers dotnet_diagnostic.CA1031.severity = none # CA1031: Do not catch general exception types dotnet_diagnostic.CA2012.severity = none # CA2012: Use ValueTasks correctly dotnet_diagnostic.CA2201.severity = none # CA2201: Do not raise reserved exception types # SonarAnalyzer.CSharp # https://rules.sonarsource.com/csharp dotnet_diagnostic.S125.severity = none # S125: Sections of code should not be commented out dotnet_diagnostic.S3459.severity = none # S3459: Unassigned members should be removed dotnet_diagnostic.S3871.severity = none # S3871: Exception types should be "public" dotnet_diagnostic.S1186.severity = none # S1186: Methods should not be empty dotnet_diagnostic.S1133.severity = none # S1133: Deprecated code should be removed dotnet_diagnostic.S3963.severity = none # S3963: "static" fields should be initialized inline (covered by CA1810)