gmarokov/dotnet-trx2sonar

View on GitHub
.editorconfig

Summary

Maintainability
Test Coverage
# Suppress: EC112

root = true

# Default preferences
[*]
indent_style                                                           = space
indent_size                                                            = 4
insert_final_newline                                                   = true

# ReSharper properties
resharper_apply_auto_detected_rules                                    = false
resharper_braces_for_for                                               = required
resharper_braces_for_foreach                                           = required
resharper_braces_for_ifelse                                            = required
resharper_braces_for_while                                             = required
resharper_csharp_keep_blank_lines_in_code                              = 1
resharper_csharp_max_line_length                                       = 180
resharper_csharp_wrap_after_declaration_lpar                           = true
resharper_csharp_wrap_after_invocation_lpar                            = true
resharper_csharp_wrap_arguments_style                                  = chop_if_long
resharper_csharp_wrap_before_binary_opsign                             = true
resharper_csharp_wrap_chained_method_calls                             = chop_if_long
resharper_csharp_wrap_parameters_style                                 = chop_if_long
resharper_keep_existing_declaration_parens_arrangement                 = false
resharper_keep_existing_embedded_arrangement                           = false
resharper_keep_existing_invocation_parens_arrangement                  = false
resharper_max_initializer_elements_on_line                             = 1
resharper_place_accessorholder_attribute_on_same_line                  = false
resharper_place_constructor_initializer_on_same_line                   = false
resharper_place_simple_embedded_statement_on_same_line                 = true
resharper_space_within_single_line_array_initializer_braces            = true
resharper_wrap_array_initializer_style                                 = chop_if_long
resharper_wrap_before_first_type_parameter_constraint                  = true

# ReSharper inspection severities
resharper_arrange_redundant_parentheses_highlighting                   = hint
resharper_arrange_this_qualifier_highlighting                          = hint
resharper_arrange_type_member_modifiers_highlighting                   = hint
resharper_arrange_type_modifiers_highlighting                          = hint
resharper_built_in_type_reference_style_for_member_access_highlighting = hint
resharper_built_in_type_reference_style_highlighting                   = hint
resharper_class_never_instantiated_global_highlighting                 = hint
resharper_class_never_instantiated_local_highlighting                  = hint
resharper_inconsistent_naming_highlighting                             = none
resharper_member_can_be_private_global_highlighting                    = hint
resharper_redundant_base_qualifier_highlighting                        = warning
resharper_redundant_to_string_call_for_value_type_highlighting         = none
resharper_suggest_var_or_type_built_in_types_highlighting              = hint
resharper_suggest_var_or_type_elsewhere_highlighting                   = hint
resharper_suggest_var_or_type_simple_types_highlighting                = hint
resharper_unused_auto_property_accessor_global_highlighting            = hint
resharper_unused_auto_property_accessor_local_highlighting             = hint
resharper_unused_member_global_highlighting                            = hint
resharper_unused_member_in_super_global_highlighting                   = hint

# C# files
[*.cs]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size                                                              = 4
indent_style                                                             = space

# New line preferences
end_of_line                                                              = crlf
insert_final_newline                                                     = true

#### .NET Coding Conventions ####

# Organize usings
dotnet_separate_import_directive_groups                                  = false
dotnet_sort_system_directives_first                                      = false

# this. and Me. preferences
dotnet_style_qualification_for_event                                     = false : warning
dotnet_style_qualification_for_field                                     = false : warning
dotnet_style_qualification_for_method                                    = false : warning
dotnet_style_qualification_for_property                                  = false : warning

# Language keywords vs BCL types preferences
dotnet_style_predefined_type_for_locals_parameters_members               = true : suggestion
dotnet_style_predefined_type_for_member_access                           = true : suggestion

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators                  = always_for_clarity : silent
dotnet_style_parentheses_in_other_binary_operators                       = always_for_clarity : silent
dotnet_style_parentheses_in_other_operators                              = never_if_unnecessary : silent
dotnet_style_parentheses_in_relational_binary_operators                  = always_for_clarity : silent

# Modifier preferences
dotnet_style_require_accessibility_modifiers                             = for_non_interface_members : suggestion

# Expression-level preferences
dotnet_style_coalesce_expression                                         = true : suggestion
dotnet_style_collection_initializer                                      = true : suggestion
dotnet_style_explicit_tuple_names                                        = true : suggestion
dotnet_style_null_propagation                                            = true : suggestion
dotnet_style_object_initializer                                          = true : suggestion
dotnet_style_prefer_auto_properties                                      = true : silent
dotnet_style_prefer_compound_assignment                                  = true : suggestion
dotnet_style_prefer_conditional_expression_over_assignment               = true : silent
dotnet_style_prefer_conditional_expression_over_return                   = true : silent
dotnet_style_prefer_inferred_anonymous_type_member_names                 = true : suggestion
dotnet_style_prefer_inferred_tuple_names                                 = true : suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method         = true : suggestion
dotnet_style_prefer_simplified_interpolation                             = true : suggestion

# Field preferences
dotnet_style_readonly_field                                              = true : warning

# Parameter preferences
dotnet_code_quality_unused_parameters                                    = all : warning

#### C# Coding Conventions ####

# var preferences
csharp_style_var_elsewhere                                               = false : silent
csharp_style_var_for_built_in_types                                      = false : suggestion
csharp_style_var_when_type_is_apparent                                   = true : silent

# Expression-bodied members
csharp_style_expression_bodied_accessors                                 = true : silent
csharp_style_expression_bodied_constructors                              = false : silent
csharp_style_expression_bodied_indexers                                  = true : silent
csharp_style_expression_bodied_lambdas                                   = true : silent
csharp_style_expression_bodied_local_functions                           = false : silent
csharp_style_expression_bodied_methods                                   = false : silent
csharp_style_expression_bodied_operators                                 = false : silent
csharp_style_expression_bodied_properties                                = true : silent

# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check                    = true : suggestion
csharp_style_pattern_matching_over_is_with_cast_check                    = true : suggestion
csharp_style_prefer_switch_expression                                    = true : suggestion

# Null-checking preferences
csharp_style_conditional_delegate_call                                   = true : suggestion

# Modifier preferences
csharp_prefer_static_local_function                                      = true : warning
csharp_preferred_modifier_order                                          = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async : silent

# Code-block preferences
csharp_prefer_braces                                                     = true : warning
csharp_prefer_simple_using_statement                                     = true : suggestion

# Expression-level preferences
csharp_prefer_simple_default_expression                                  = true : suggestion
csharp_style_deconstructed_variable_declaration                          = true : suggestion
csharp_style_inlined_variable_declaration                                = true : suggestion
csharp_style_pattern_local_over_anonymous_function                       = true : suggestion
csharp_style_prefer_index_operator                                       = true : suggestion
csharp_style_prefer_range_operator                                       = true : suggestion
csharp_style_throw_expression                                            = true : suggestion
csharp_style_unused_value_assignment_preference                          = discard_variable : suggestion
csharp_style_unused_value_expression_statement_preference                = discard_variable : silent

# 'using' directive preferences
csharp_using_directive_placement                                         = outside_namespace : warning

#### C# Formatting Rules ####

# New line preferences
csharp_new_line_before_catch                                             = true
csharp_new_line_before_else                                              = true
csharp_new_line_before_finally                                           = true
csharp_new_line_before_members_in_anonymous_types                        = true
csharp_new_line_before_members_in_object_initializers                    = false
csharp_new_line_before_open_brace                                        = all
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                                   = false
csharp_indent_labels                                                     = one_less_than_current
csharp_indent_switch_labels                                              = true

# Space preferences
csharp_space_after_cast                                                  = true
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                               = false
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

# Wrapping preferences
csharp_preserve_single_line_blocks                                       = true
csharp_preserve_single_line_statements                                   = false

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity            = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols             = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style               = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity                  = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols                   = types
dotnet_naming_rule.types_should_be_pascal_case.style                     = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity      = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols       = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style         = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds                         = interface
dotnet_naming_symbols.interface.applicable_accessibilities               = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers=

dotnet_naming_symbols.types.applicable_kinds                             = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities                   = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers=

dotnet_naming_symbols.non_field_members.applicable_kinds                 = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities       = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers=

# Naming styles

dotnet_naming_style.pascal_case.required_prefix=
dotnet_naming_style.pascal_case.required_suffix=
dotnet_naming_style.pascal_case.word_separator=
dotnet_naming_style.pascal_case.capitalization                           = pascal_case

dotnet_naming_style.begins_with_i.required_prefix                        = I
dotnet_naming_style.begins_with_i.required_suffix=
dotnet_naming_style.begins_with_i.word_separator=
dotnet_naming_style.begins_with_i.capitalization                         = pascal_case

# Diagnostics

dotnet_code_quality.ca1710.api_surface                                   = private, internal
dotnet_code_quality.ca1819.api_surface                                   = private, internal

# JavaScript, TypeScript files
[*.{js,jsx,ts,tsx,json}]
indent_size = 2

# Xml files
[*.{xml,xsd,stylecop,resx,ruleset}]
indent_size = 2

# Xml config files
[*.{props,targets,config,nuspec}]
indent_size = 2

# Xml project files
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj,jsproj,lsproj,njsproj,vbproj}]
indent_size = 2

# Yaml files
[*.yml]
indent_size = 2

# Proto files
[*.proto]
indent_size = 2

[*.{appxmanifest,build,dbml,discomap,dtd,resjson,resw,tasks}]
indent_size = 2

[*.{asax,ascx,aspx,cshtml,css,htm,html,master,razor,skin,xaml,xamlx,xoml}]
indent_size = 2
tab_width   = 2