Created
December 27, 2018 03:04
-
-
Save DanielMPries/b9a1da642182480545735662d2b86bc1 to your computer and use it in GitHub Desktop.
Personal C# .editorconfig
This file contains hidden or 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
# http://EditorConfig.org | |
############################### | |
# Common Settings # | |
############################### | |
# This file is the top-most EditorConfig file | |
root = true | |
# All Files | |
[*] | |
charset = utf-8 | |
end_of_line = lf | |
indent_style = space | |
indent_size = 4 | |
insert_final_newline = true | |
trim_trailing_whitespace = true | |
############################### | |
# File Extension Settings # | |
############################### | |
# Solution Files | |
[*.sln] | |
indent_style = space | |
# XML Project Files | |
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | |
indent_size = 4 | |
# 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,css,scss,less}] | |
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}] | |
# "this." and "Me." qualifiers | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#this_and_me | |
# -- Warn against the use of this. or me. | |
dotnet_style_qualification_for_field = false:warning | |
dotnet_style_qualification_for_property = false:warning | |
dotnet_style_qualification_for_method = false:warning | |
dotnet_style_qualification_for_event = false:warning | |
# 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 | |
# -- prefer int vs Int32 | |
# -- prefer Int32.MaxValue vs int.MaxValue | |
dotnet_style_predefined_type_for_locals_parameters_members = true:warning | |
dotnet_style_predefined_type_for_member_access = false:warning | |
# Modifier preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#normalize_modifiers | |
# -- prefer the use of explicit access modifiers and readonly | |
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 | |
# Parenthesis preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2017#parentheses | |
# -- prefer the use of parenthesis to claritfy order of operations | |
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 = always_for_clarity:warning | |
# Expression-level preferences | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_explicit_tuple_names = true:warning | |
dotnet_style_prefer_inferred_tuple_names = true:suggestion | |
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | |
dotnet_style_prefer_auto_properties = true:suggestion | |
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning | |
dotnet_style_prefer_conditional_expression_over_assignment = true:warning | |
dotnet_style_prefer_conditional_expression_over_return = true: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 | |
# Other (Undocumented) | |
dotnet_style_prefer_conditional_expression_over_return = false | |
dotnet_style_prefer_conditional_expression_over_assignment = false | |
# 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 | |
# -- prefer the use of var over 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 | |
# -- prefer teh use of expression bodies | |
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 | |
# -- prefer the use of inline out int i vs int i; out i; | |
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 | |
# -- prefer default vs default(T) | |
# -- suggest deconstruction and inline methods vs Func assignment | |
csharp_prefer_simple_default_expression = true:warning | |
csharp_style_deconstructed_variable_declaration = true:suggestion | |
csharp_style_pattern_local_over_anonymous_function = true:suggestion | |
# "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 | |
# -- prefer System namespaces first | |
dotnet_sort_system_directives_first = true:warning | |
# C# formatting settings | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-settings | |
# -- prefer closing brace before else, catch and finally on the same line | |
csharp_new_line_before_open_brace = all | |
csharp_new_line_before_else = false:warning | |
csharp_new_line_before_catch = false:warning | |
csharp_new_line_before_finally = false:warning | |
# -- prefer anonoymous object braces on new lines | |
csharp_new_line_before_members_in_object_initializers = true:warning | |
csharp_new_line_before_members_in_anonymous_types = true:warning | |
csharp_new_line_between_query_expression_clauses = true:warning | |
# Indentation options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#indent | |
csharp_indent_case_contents = true:warning | |
csharp_indent_switch_labels = true:warning | |
csharp_indent_labels = no_change:warning | |
# Spacing options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#spacing | |
csharp_space_after_cast = true:warning | |
csharp_space_after_keywords_in_control_flow_statements = true:warning | |
csharp_space_between_method_declaration_parameter_list_parentheses = true:suggestion | |
csharp_space_between_method_call_parameter_list_parentheses = true:suggestion | |
csharp_space_between_parentheses = control_flow_statements,expressions:warning | |
csharp_space_before_colon_in_inheritance_clause = true:warning | |
csharp_space_after_colon_in_inheritance_clause = true:warning | |
csharp_space_around_binary_operators = before_and_after:warning | |
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false:warning | |
csharp_space_between_method_call_name_and_opening_parenthesis = false:warning | |
csharp_space_between_method_call_empty_parameter_list_parentheses = false:warning | |
# Wrapping options | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#wrapping | |
csharp_preserve_single_line_statements = false:warning | |
csharp_preserve_single_line_blocks = true:warning | |
# More Indentation options (Undocumented) | |
csharp_indent_block_contents = true:warning | |
csharp_indent_braces = false:warning | |
# Spacing Options (Undocumented) | |
csharp_space_after_comma = true:warning | |
csharp_space_after_dot = false:warning | |
csharp_space_after_semicolon_in_for_statement = true:warning | |
csharp_space_around_declaration_statements = do_not_ignore:warning | |
csharp_space_before_comma = false:warning | |
csharp_space_before_dot = false:warning | |
csharp_space_before_semicolon_in_for_statement = false:warning | |
csharp_space_before_open_square_brackets = false:warning | |
csharp_space_between_empty_square_brackets = false:warning | |
csharp_space_between_method_declaration_name_and_open_parenthesis = false:warning | |
csharp_space_between_square_brackets = false:warning | |
############################### | |
# .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 | |
# private fields | |
dotnet_naming_rule.private_members_with_underscore.symbols = private_fields | |
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore | |
dotnet_naming_rule.private_members_with_underscore.severity = suggestion | |
dotnet_naming_symbols.private_fields.applicable_kinds = field | |
dotnet_naming_symbols.private_fields.applicable_accessibilities = private | |
dotnet_naming_symbols.private_fields.required_modifiers = readonly | |
dotnet_naming_style.prefix_underscore.capitalization = camel_case | |
dotnet_naming_style.prefix_underscore.required_prefix = _ | |
# 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