Last active
April 23, 2019 06:43
-
-
Save johanvergeer/2dd7a3bffcdc8ed9feb236267c760136 to your computer and use it in GitHub Desktop.
My default EditorConfig for C# projects
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
| # Rules in this file were initially inferred by Visual Studio IntelliCode from the C:\Workspace\Uniforms codebase based on best match to current usage at 12-4-2019 | |
| # You can modify the rules from these initially generated values to suit your own policies | |
| # You can learn more about editorconfig here: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference | |
| [*.cs] | |
| #Core editorconfig formatting - indentation | |
| #use soft tabs (spaces) for indentation | |
| indent_style = space | |
| indent_size = 4 | |
| insert_final_newline = true | |
| charset = utf-8-bom | |
| # Organize usings | |
| dotnet_sort_system_directives_first = true | |
| dotnet_separate_import_directive_groups = true | |
| # this. preferences | |
| dotnet_style_qualification_for_field = true:suggestion | |
| dotnet_style_qualification_for_property = true:suggestion | |
| dotnet_style_qualification_for_method = true:suggestion | |
| dotnet_style_qualification_for_event = true:suggestion | |
| # Language keywords vs BCL types preferences | |
| dotnet_style_predefined_type_for_locals_parameters_members = true:warning | |
| dotnet_style_predefined_type_for_member_access = true:warning | |
| # Parentheses preferences | |
| dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion | |
| dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion | |
| dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion | |
| dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | |
| # Modifier preferences | |
| dotnet_style_require_accessibility_modifiers = always:warning | |
| 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_prefer_inferred_tuple_names = true:suggestion | |
| dotnet_prefer_inferred_anonymous_type_member_names = true:suggestion | |
| dotnet_style_prefer_auto_properties = true:suggestion | |
| dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion | |
| dotnet_style_prefer_conditional_expression_over_return = true:suggestion | |
| ############################### | |
| # C# Coding Conventions # | |
| ############################### | |
| [*.cs] | |
| # var preferences | |
| csharp_style_var_for_built_in_types = true:suggestion | |
| csharp_style_var_when_type_is_apparent = true:suggestion | |
| csharp_style_var_elsewhere = true:suggestion | |
| # Expression-bodied members | |
| csharp_style_expression_bodied_methods = when_on_single_line:suggestion | |
| csharp_style_expression_bodied_constructors = false:silent | |
| csharp_style_expression_bodied_operators = when_on_single_line:suggestion | |
| csharp_style_expression_bodied_properties = when_on_single_line:suggestion | |
| csharp_style_expression_bodied_indexers = when_on_single_line:suggestion | |
| csharp_style_expression_bodied_accessors = true:suggestion | |
| # 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 | |
| # Expression-level preferences | |
| csharp_prefer_braces = true:warning | |
| csharp_style_deconstructed_variable_declaration = true:suggestion | |
| csharp_prefer_simple_default_expression = true:suggestion | |
| csharp_style_pattern_local_over_anonymous_function = 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 | |
| # Space preferences | |
| csharp_space_after_cast = false | |
| csharp_space_after_keywords_in_control_flow_statements = true | |
| csharp_space_between_method_call_parameter_list_parentheses = false | |
| csharp_space_between_method_declaration_parameter_list_parentheses = false | |
| csharp_space_between_parentheses = false | |
| 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 preferences | |
| csharp_preserve_single_line_statements = false | |
| csharp_preserve_single_line_blocks = true | |
| ############################### | |
| # Naming Conventions # | |
| ############################### | |
| # Style Definitions | |
| ## start with underscore style | |
| dotnet_naming_style.start_with_underscore_style.required_prefix = _ | |
| dotnet_naming_style.start_with_underscore_style.capitalization = camel_case | |
| ## Pascal style | |
| dotnet_naming_style.pascal_style.capitalization = pascal_case | |
| ## Camelcase style | |
| dotnet_naming_style.camel_case_style.capitalization = camel_case | |
| ## Private readonly fields | |
| dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field | |
| dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private | |
| dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly | |
| dotnet_naming_rule.private_readonly_fields_should_start_with_underscore.severity = suggestion | |
| dotnet_naming_rule.private_readonly_fields_should_start_with_underscore.symbols = private_readonly_fields | |
| dotnet_naming_rule.private_readonly_fields_should_start_with_underscore.style = start_with_underscore_style | |
| ## Private const fields | |
| dotnet_naming_symbols.private_const_fields.applicable_kinds = field | |
| dotnet_naming_symbols.private_const_fields.applicable_accessibilities = private | |
| dotnet_naming_symbols.private_const_fields.required_modifiers = const | |
| dotnet_naming_rule.private_const_should_start_with_underscore.severity = suggestion | |
| dotnet_naming_rule.private_const_should_start_with_underscore.symbols = private_const_fields | |
| dotnet_naming_rule.private_const_should_start_with_underscore.style = start_with_underscore_style | |
| ## Public const fields | |
| dotnet_naming_symbols.public_const_fields.applicable_kinds = field | |
| dotnet_naming_symbols.public_const_fields.applicable_accessibilities = public | |
| dotnet_naming_symbols.public_const_fields.required_modifiers = const | |
| dotnet_naming_rule.public_const_should_be_pascal_case.severity = suggestion | |
| dotnet_naming_rule.public_const_should_be_pascal_case.symbols = public_const_fields | |
| dotnet_naming_rule.public_const_should_be_pascal_case.style = pascal_style | |
| ## Private methods | |
| dotnet_naming_symbols.private_methods.applicable_kinds = method | |
| dotnet_naming_symbols.private_methods.applicable_accessibilities = private | |
| dotnet_naming_rule.private_methods_should_start_with_underscore.severity = suggestion | |
| dotnet_naming_rule.private_methods_should_start_with_underscore.symbols = private_methods | |
| dotnet_naming_rule.private_methods_should_start_with_underscore.style = start_with_underscore_style | |
| ## parameters | |
| dotnet_naming_symbols.parameters.applicable_kinds = parameter | |
| dotnet_naming_rule.parameters_should_be_camelcase.severity = warning | |
| dotnet_naming_rule.parameters_should_be_camelcase.symbols = parameters | |
| dotnet_naming_rule.parameters_should_be_camelcase.style = camel_case_style | |
| ############################### | |
| # Guidelines # | |
| ############################### | |
| # All files | |
| [*] | |
| guidelines = 80 | |
| # C# or VB files | |
| [*.{cs,vb}] | |
| guidelines = 80, 120 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment