diff --git a/.editorconfig b/.editorconfig index e12d215a6c1..24bbae1956f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,11 +13,11 @@ indent_size = 4 indent_style = tab indent_size = 4 -[*.{fs,fsx}] +[*.{fs,fsx,yml}] indent_style = space indent_size = 4 -[*.{md,markdown,json,js,csproj,fsproj,targets,targets,props,yml}] +[*.{md,markdown,json,js,csproj,fsproj,targets,targets,props}] indent_style = space indent_size = 2 @@ -30,11 +30,86 @@ indent_size = 2 # --- # --- -# langugage conventions https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language-conventions +# language conventions https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language-conventions # Sort using and Import directives with System.* appearing first dotnet_sort_system_directives_first = true +# Style rules +# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules?view=vs-2017 + +# Constants always pascal case +dotnet_naming_rule.constants_should_be_pascal_case.symbols = consts +dotnet_naming_rule.constants_should_be_pascal_case.style = consts +dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion + +dotnet_naming_symbols.consts.applicable_kinds = field +dotnet_naming_symbols.consts.applicable_accessibilities = * +dotnet_naming_symbols.consts.required_modifiers = const + +dotnet_naming_style.consts.capitalization = pascal_case + +# Non-public static fields always pascal case +dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.symbols = non_public_static_fields +dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.style = non_public_static_fields +dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.severity = suggestion + +dotnet_naming_symbols.non_public_static_fields.applicable_kinds = field +dotnet_naming_symbols.non_public_static_fields.applicable_accessibilities = private,protected,internal,protected_internal,private_protected +dotnet_naming_symbols.non_public_static_fields.required_modifiers = static + +dotnet_naming_style.non_public_static_fields.capitalization = pascal_case + +# Non-private readonly fields are pascal case +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_fields + +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_fields.capitalization = pascal_case + +# Private instance fields are camel case prefixed underscore +dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.symbols = private_fields +dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.style = private_fields +dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.severity = suggestion + +dotnet_naming_symbols.private_fields.applicable_kinds = field +dotnet_naming_symbols.private_fields.applicable_accessibilities = private + +dotnet_naming_style.private_fields.capitalization = camel_case +dotnet_naming_style.private_fields.required_prefix = _ + +# Locals and parameters are camel case +dotnet_naming_rule.locals.severity = suggestion +dotnet_naming_rule.locals.symbols = locals +dotnet_naming_rule.locals.style = locals + +dotnet_naming_symbols.locals.applicable_kinds = parameter, local + +dotnet_naming_style.locals.capitalization = camel_case + +# Local functions are pascal case +dotnet_naming_rule.local_functions.severity = suggestion +dotnet_naming_rule.local_functions.symbols = local_functions +dotnet_naming_rule.local_functions.style = local_functions + +dotnet_naming_symbols.local_functions.applicable_kinds = local_function + +dotnet_naming_style.local_functions.capitalization = pascal_case + +# Public members always pascal case +dotnet_naming_rule.public_members_should_be_pascal_case.symbols = public_members +dotnet_naming_rule.public_members_should_be_pascal_case.style = public_members +dotnet_naming_rule.public_members_should_be_pascal_case.severity = suggestion + +dotnet_naming_symbols.public_members.applicable_kinds = property,method,field,event,delegate +dotnet_naming_symbols.public_members.applicable_accessibilities = public + +dotnet_naming_style.public_members.capitalization = pascal_case + dotnet_style_qualification_for_field = false:error dotnet_style_qualification_for_property = false:error dotnet_style_qualification_for_method = false:error @@ -83,7 +158,7 @@ csharp_prefer_braces = false:warning csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:error # --- -# formatting conventions https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-formatting-conventions +# formatting conventions https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions # Newline settings (Allman yo!) csharp_new_line_before_open_brace = all @@ -109,17 +184,30 @@ csharp_preserve_single_line_statements = false csharp_preserve_single_line_blocks = true # Resharper -resharper_csharp_braces_for_lock=required_for_complex -resharper_csharp_braces_for_using=required_for_complex -resharper_csharp_braces_for_while=required_for_complex -resharper_csharp_braces_for_foreach=required_for_complex -resharper_csharp_braces_for_for=required_for_complex -resharper_csharp_braces_for_fixed=required_for_complex -resharper_csharp_braces_for_ifelse=required_for_complex +resharper_csharp_braces_for_lock=required_for_multiline +resharper_csharp_braces_for_using=required_for_multiline +resharper_csharp_braces_for_while=required_for_multiline +resharper_csharp_braces_for_foreach=required_for_multiline +resharper_csharp_braces_for_for=required_for_multiline +resharper_csharp_braces_for_fixed=required_for_multiline +resharper_csharp_braces_for_ifelse=required_for_multiline resharper_csharp_accessor_owner_body=expression_body resharper_redundant_case_label_highlighting=do_not_show resharper_redundant_argument_default_value_highlighting=do_not_show -# Do not penalize code that explicitly lists generic arguments -resharper_redundant_type_arguments_of_method_highlighting=do_not_show + +[Jenkinsfile] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{sh,bat,ps1}] +trim_trailing_whitespace=true +insert_final_newline=true + +[*.sh] +end_of_line = lf