Last active
March 20, 2019 01:47
-
-
Save MatthewRiggott/b59d3ae3f59cf2906b43b52bf23cd98c to your computer and use it in GitHub Desktop.
C# .net standard editorconfig (except for spaces & indent size=2)
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
# 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 | |
end_of_line = crlf | |
indent_style = space | |
indent_size = 2 | |
insert_final_newline = false | |
trim_trailing_whitespace = true | |
######################### | |
# File Extension Settings | |
######################### | |
# Visual Studio Solution Files | |
[*.sln] | |
indent_style = tab | |
# Visual Studio XML Project Files | |
[*.{csproj,vbproj,vcxproj,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}] | |
indent_size = 2 | |
# YAML Files | |
[*.{yml,yaml}] | |
indent_size = 2 | |
# Markdown Files | |
[*.md] | |
trim_trailing_whitespace = false | |
# Web Files | |
[*.{htm,html,js,ts,tsx,css,sass,scss,less,svg,vue}] | |
indent_size = 2 | |
insert_final_newline = true | |
# Batch Files | |
[*.{cmd,bat}] | |
# Bash Files | |
[*.sh] | |
end_of_line = lf | |
########################### | |
# .NET Language Conventions | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language-conventions | |
########################### | |
# .NET Code Style Settings | |
[*.{cs,csx,cake,vb}] | |
# Language keywords instead of framework type names for type references | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language_keywords | |
dotnet_style_predefined_type_for_locals_parameters_members = true:warning | |
dotnet_style_predefined_type_for_member_access = true:warning | |
# Modifier preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#normalize_modifiers | |
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 | |
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 | |
dotnet_style_readonly_field = true:warning | |
# Parentheses preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#parentheses | |
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:suggestion | |
# Expression-level preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level | |
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_is_null_check_over_reference_equality_method = true:warning | |
dotnet_style_prefer_conditional_expression_over_assignment = false:suggestion | |
dotnet_style_prefer_conditional_expression_over_return = false:suggestion | |
# Null-checking preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking | |
dotnet_style_coalesce_expression = true:warning | |
dotnet_style_null_propagation = true:warning | |
# C# Code Style Settings | |
[*.{cs,csx,cake}] | |
# Implicit and explicit types | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#implicit-and-explicit-types | |
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 | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#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 | |
# Pattern matching | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#pattern_matching | |
csharp_style_pattern_matching_over_is_with_cast_check = true:warning | |
csharp_style_pattern_matching_over_as_with_null_check = true:warning | |
# Inlined variable declarations | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#inlined_variable_declarations | |
csharp_style_inlined_variable_declaration = true:warning | |
# Expression-level preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level_csharp | |
csharp_prefer_simple_default_expression = true:warning | |
csharp_style_deconstructed_variable_declaration = true:warning | |
csharp_style_pattern_local_over_anonymous_function = true:warning | |
# "Null" checking preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking_csharp | |
csharp_style_throw_expression = true:warning | |
csharp_style_conditional_delegate_call = true:warning | |
# Code block preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#code_block | |
csharp_prefer_braces = true:warning | |
############################# | |
# .NET Formatting Conventions | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions | |
############################# | |
# Organize usings | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#usings | |
dotnet_sort_system_directives_first = true | |
# C# formatting settings | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-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 options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#indent | |
csharp_indent_case_contents = true | |
csharp_indent_switch_labels = true | |
csharp_indent_labels = no_change | |
# Spacing options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#spacing | |
csharp_space_after_cast = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_between_method_declaration_parameter_list_parentheses = false | |
csharp_space_between_method_call_parameter_list_parentheses = false | |
csharp_space_between_parentheses = expressions | |
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_empty_parameter_list_parentheses = false | |
csharp_space_between_method_call_name_and_opening_parenthesis = false | |
csharp_space_between_method_call_empty_parameter_list_parentheses = false | |
# Wrapping options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#wrapping | |
csharp_preserve_single_line_statements = false | |
csharp_preserve_single_line_blocks = true | |
# More Indentation options (Undocumented) | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
# Spacing Options (Undocumented) | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_declaration_statements = do_not_ignore | |
csharp_space_before_comma = false | |
csharp_space_before_dot = false | |
csharp_space_before_semicolon_in_for_statement = false | |
csharp_space_before_open_square_brackets = false | |
csharp_space_between_empty_square_brackets = false | |
csharp_space_between_method_declaration_name_and_open_parenthesis = false | |
csharp_space_between_square_brackets = false | |
######################### | |
# .NET Naming conventions | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-naming-conventions | |
######################### | |
[*.{cs,csx,cake,vb}] | |
# Naming Symbols | |
# constant_fields - Define constant fields | |
dotnet_naming_symbols.constant_fields.applicable_kinds = field | |
dotnet_naming_symbols.constant_fields.required_modifiers = const | |
# non_private_readonly_fields - Define public, internal and protected readonly fields | |
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected | |
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field | |
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly | |
# static_readonly_fields - Define static and readonly fields | |
dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field | |
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly | |
# private_readonly_fields - Define private readonly fields | |
dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private | |
dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field | |
dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly | |
# public_internal_fields - Define public and internal fields | |
dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal | |
dotnet_naming_symbols.public_internal_fields.applicable_kinds = field | |
# private_protected_fields - Define private and protected fields | |
dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected | |
dotnet_naming_symbols.private_protected_fields.applicable_kinds = field | |
# public_symbols - Define any public symbol | |
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal | |
dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate | |
# parameters - Defines any parameter | |
dotnet_naming_symbols.parameters.applicable_kinds = parameter | |
# non_interface_types - Defines class, struct, enum and delegate types | |
dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate | |
# interface_types - Defines interfaces | |
dotnet_naming_symbols.interface_types.applicable_kinds = interface | |
# Naming Styles | |
# camel_case - Define the camelCase style | |
dotnet_naming_style.camel_case.capitalization = camel_case | |
# pascal_case - Define the Pascal_case style | |
dotnet_naming_style.pascal_case.capitalization = pascal_case | |
# first_upper - The first character must start with an upper-case character | |
dotnet_naming_style.first_upper.capitalization = first_word_upper | |
# prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I' | |
dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case | |
dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I | |
# Naming Rules | |
# Constant fields must be PascalCase | |
dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning | |
dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields | |
dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case | |
# Public, internal and protected readonly fields must be PascalCase | |
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning | |
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields | |
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case | |
# Static readonly fields must be PascalCase | |
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning | |
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields | |
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case | |
# Private readonly fields must be camelCase | |
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning | |
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields | |
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case | |
# Public and internal fields must be PascalCase | |
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning | |
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields | |
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case | |
# Private and protected fields must be camelCase | |
dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning | |
dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields | |
dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case | |
# Public members must be capitalized | |
dotnet_naming_rule.public_members_must_be_capitalized.severity = warning | |
dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols | |
dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper | |
# Parameters must be camelCase | |
dotnet_naming_rule.parameters_must_be_camel_case.severity = warning | |
dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters | |
dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case | |
# Class, struct, enum and delegates must be PascalCase | |
dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning | |
dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types | |
dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case | |
# Interfaces must be PascalCase and start with an 'I' | |
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning | |
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types | |
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment