Last active
April 22, 2019 20:07
-
-
Save Digiman/0efab48ed40ba9645713a04cdb8760d2 to your computer and use it in GitHub Desktop.
EditorConfig file for .NET projects based on C# or VB + Markdown documentation (see more details here https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2019#expression_level_csharp)
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
############################### | |
# Core EditorConfig Options # | |
############################### | |
root = true | |
# All files | |
[*] | |
charset = utf-8 | |
# Markdown files | |
[*.md] | |
charset = utf-8 | |
indent_style = space | |
indent_size = 4 | |
end_of_line = lf | |
trim_trailing_whitespace = true | |
insert_final_newline = true | |
# Code files (.NET) | |
[*.{cs,csx,vb,vbx}] | |
# Indentation and spacing | |
indent_size = 4 | |
indent_style = space | |
tab_width = 4 | |
# New line preferences | |
end_of_line = crlf | |
insert_final_newline = false | |
############################### | |
# .NET Coding Conventions # | |
############################### | |
[*.{cs,vb}] | |
# Organize usings | |
dotnet_sort_system_directives_first = true | |
dotnet_separate_import_directive_groups = false | |
# this. and Me. preferences | |
dotnet_style_qualification_for_field = false:silent | |
dotnet_style_qualification_for_property = false:silent | |
dotnet_style_qualification_for_method = false:silent | |
dotnet_style_qualification_for_event = false:silent | |
# Language keywords vs BCL types preferences | |
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | |
dotnet_style_predefined_type_for_member_access = true:silent | |
# Parentheses preferences | |
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | |
dotnet_style_parentheses_in_relational_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 | |
# Modifier preferences | |
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | |
dotnet_style_readonly_field = true:suggestion | |
# Expression-level preferences | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_explicit_tuple_names = true:suggestion | |
dotnet_style_null_propagation = true:suggestion | |
dotnet_style_coalesce_expression = true:suggestion | |
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | |
dotnet_style_prefer_inferred_tuple_names = true:suggestion | |
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | |
dotnet_style_prefer_auto_properties = true:silent | |
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | |
dotnet_style_prefer_conditional_expression_over_return = true:silent | |
dotnet_style_prefer_compound_assignment = true:suggestion | |
# Parameter preferences | |
dotnet_code_quality_unused_parameters = all:suggestion | |
############################### | |
# Naming Conventions # | |
############################### | |
# Style Definitions | |
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | |
# Use PascalCase for constant fields | |
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields | |
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style | |
dotnet_naming_symbols.constant_fields.applicable_kinds = field | |
dotnet_naming_symbols.constant_fields.applicable_accessibilities = * | |
dotnet_naming_symbols.constant_fields.required_modifiers = const | |
############################### | |
# C# Code Style Rules # | |
############################### | |
[*.cs] | |
# var preferences | |
csharp_style_var_for_built_in_types = true:silent | |
csharp_style_var_when_type_is_apparent = true:silent | |
csharp_style_var_elsewhere = true:silent | |
# Expression-bodied members | |
csharp_style_expression_bodied_methods = false:silent | |
csharp_style_expression_bodied_constructors = false:silent | |
csharp_style_expression_bodied_operators = false:silent | |
csharp_style_expression_bodied_properties = true:silent | |
csharp_style_expression_bodied_indexers = true:silent | |
csharp_style_expression_bodied_accessors = true:silent | |
csharp_style_expression_bodied_lambdas = true:silent | |
csharp_style_expression_bodied_local_functions = false:silent | |
# Pattern-matching preferences | |
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | |
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | |
# Null-checking preferences | |
csharp_style_throw_expression = true:suggestion | |
csharp_style_conditional_delegate_call = true:suggestion | |
# Modifier preferences | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | |
# Code-block preferences | |
csharp_prefer_braces = true:silent | |
# Expression-level preferences | |
csharp_prefer_simple_default_expression = 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_unused_value_assignment_preference = discard_variable:suggestion | |
csharp_style_unused_value_expression_statement_preference = discard_variable:silent | |
csharp_style_deconstructed_variable_declaration = true:suggestion | |
csharp_style_inlined_variable_declaration = true:suggestion | |
############################### | |
# C# Formatting Rules # | |
############################### | |
# New line preferences | |
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 preferences | |
csharp_indent_case_contents = true | |
csharp_indent_switch_labels = true | |
csharp_indent_labels = flush_left | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents_when_block = true | |
# Space preferences | |
csharp_space_after_cast = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_after_colon_in_inheritance_clause = true | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
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_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_statements = true | |
csharp_preserve_single_line_blocks = true | |
################################## | |
# Visual Basic Code Style Rules # | |
################################## | |
[*.vb] | |
# Modifier preferences | |
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:suggestion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment