Last active
November 28, 2019 01:26
-
-
Save melcloud/948d09910d765a28f25c5c7e5f00c4be to your computer and use it in GitHub Desktop.
Editorconfig combined from Microsoft
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
root = true | |
[*] | |
charset = utf-8 | |
indent_size = 2 | |
indent_style = space | |
insert_final_newline = true | |
trim_trailing_whitespace = true | |
[*.{ps1,psm1,cmd,bat}] | |
indent_size = 4 | |
end_of_line = crlf | |
[*.sh] | |
indent_style = tab | |
indent_size = 4 | |
end_of_line = lf | |
[*.{cs,csx,vb,vbx}] | |
indent_size = 4 | |
# Avoid "this." and "Me." if not necessary | |
dotnet_style_qualification_for_field = false:suggestion | |
dotnet_style_qualification_for_property = false:suggestion | |
dotnet_style_qualification_for_method = false:suggestion | |
dotnet_style_qualification_for_event = false:suggestion | |
# Sort using and Import directives with System.* appearing first | |
# and prefer placing all using statements ouside namespace | |
csharp_using_directive_placement = outside_namespace:suggestion | |
dotnet_sort_system_directives_first = true | |
# Use language keywords instead of framework type names for type references | |
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | |
dotnet_style_predefined_type_for_member_access = true:suggestion | |
# Suggest more modern language features when available | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_coalesce_expression = true:suggestion | |
dotnet_style_null_propagation = true:suggestion | |
dotnet_style_explicit_tuple_names = true:suggestion | |
# Code quality | |
dotnet_style_readonly_field = true:suggestion | |
dotnet_code_quality_unused_parameters = non_public:suggestion | |
# Expression level preferences to make code easier to read | |
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:suggestion | |
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion | |
dotnet_style_prefer_conditional_expression_over_return = true:suggestion | |
# name non-private static fields using PascalCase | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | |
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | |
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | |
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | |
# name non-private readonly fields using PascalCase | |
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_field_style | |
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_field_style.capitalization = pascal_case | |
# name all constant fields using PascalCase | |
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | |
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style | |
dotnet_naming_symbols.constants.applicable_kinds = field, local | |
dotnet_naming_symbols.constants.required_modifiers = const | |
dotnet_naming_style.constant_style.capitalization = pascal_case | |
# name static fields using camelCase and should have s_ prefix | |
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields | |
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style | |
dotnet_naming_symbols.static_fields.applicable_kinds = field | |
dotnet_naming_symbols.static_fields.required_modifiers = static | |
dotnet_naming_style.static_field_style.capitalization = camel_case | |
dotnet_naming_style.static_field_style.required_prefix = s_ | |
# name instance fields using camelCase and start with _ | |
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | |
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style | |
dotnet_naming_symbols.instance_fields.applicable_kinds = field | |
dotnet_naming_style.instance_field_style.capitalization = camel_case | |
dotnet_naming_style.instance_field_style.required_prefix = _ | |
# name locals and parameters using camelCase | |
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | |
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | |
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | |
dotnet_naming_style.camel_case_style.capitalization = camel_case | |
# name local functions using PascalCase | |
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions | |
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style | |
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | |
dotnet_naming_style.local_function_style.capitalization = pascal_case | |
# name rest of items using PascalCase | |
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion | |
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members | |
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style | |
dotnet_naming_symbols.all_members.applicable_kinds = * | |
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | |
[*.{cs,csx}] | |
# Modifier preferences | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | |
# 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_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents = true | |
csharp_indent_case_contents_when_block = true | |
csharp_indent_switch_labels = true | |
csharp_indent_labels = one_less_than_current | |
# Space preferences | |
csharp_space_after_cast = false | |
csharp_space_after_colon_in_inheritance_clause = true | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_binary_operators = before_and_after | |
csharp_space_around_declaration_statements = do_not_ignore | |
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_call_parameter_list_parentheses = 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 | |
# Prefer "var" for built in types and when type is apparent. Otherwise, use explicit type | |
csharp_style_var_for_built_in_types = true:suggestion | |
csharp_style_var_when_type_is_apparent = true:suggestion | |
csharp_style_var_elsewhere = false:suggestion | |
# Put braces for single line expression such as if during code generation | |
csharp_prefer_braces = true:refactoring | |
# Preserve single line block but not statement | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-formatting-conventions?view=vs-2019 | |
csharp_preserve_single_line_blocks = true | |
csharp_preserve_single_line_statements = false | |
# csharp 7.1+ and 8 features make code easier to read, this is only applicable when csharp version supports it | |
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-language-conventions?view=vs-2019 | |
csharp_prefer_simple_default_expression = true:suggestion | |
csharp_prefer_static_local_function = true:suggestion | |
csharp_prefer_simple_using_statement = true:suggestion | |
csharp_style_prefer_switch_expression = true:suggestion | |
# Pattern matching | |
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | |
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | |
csharp_style_inlined_variable_declaration = true:suggestion | |
# Null checking preferences | |
csharp_style_throw_expression = true:suggestion | |
csharp_style_conditional_delegate_call = true:suggestion | |
# Use array[^1] instead of array[array.Length - 1] | |
csharp_style_prefer_index_operator = true:suggestion | |
# Use array[^..4] instead of array[array.Length - 4] | |
csharp_style_prefer_range_operator = true:suggestion | |
# Prefer local function | |
csharp_style_pattern_local_over_anonymous_function = true:suggestion | |
# Expression-bodied members | |
# You can choose whether to use expression bodied method, constructors and operators. | |
# However, generated code will not use this style | |
csharp_style_expression_bodied_methods = false:refactoring | |
csharp_style_expression_bodied_constructors = false:refactoring | |
csharp_style_expression_bodied_operators = false:refactoring | |
# Suggest to use it on properties,indexers,accessors,lambdas and local functions | |
csharp_style_expression_bodied_properties = true:suggestion | |
csharp_style_expression_bodied_indexers = true:suggestion | |
csharp_style_expression_bodied_accessors = true:suggestion | |
csharp_style_expression_bodied_lambdas = true:suggestion | |
csharp_style_expression_bodied_local_functions = true:suggestion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment