Created
May 7, 2021 15:54
-
-
Save jasper-d/cb0b45d903b7b1fda3919bb4771e5cf1 to your computer and use it in GitHub Desktop.
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
# derived from github.com/dotnet/runtime/blob/main/.editorconfig | |
# editorconfig.org | |
# top-most EditorConfig file | |
root = true | |
# Default settings: | |
# A newline ending every file | |
# Use 4 spaces as indentation | |
[*] | |
insert_final_newline = true | |
indent_style = space | |
indent_size = 4 | |
trim_trailing_whitespace = true | |
end_of_line = lf | |
[project.json] | |
indent_size = 2 | |
# Generated code | |
[*{_AssemblyInfo.cs,.notsupported.cs}] | |
generated_code = true | |
# C# files | |
[*.cs] | |
# 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 | |
# Modifier preferences | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | |
# avoid this. unless absolutely 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 | |
# Types: use keywords instead of BCL types, and permit var only when the type is clear | |
csharp_style_var_for_built_in_types = false:suggestion | |
csharp_style_var_when_type_is_apparent = false:none | |
csharp_style_var_elsewhere = false:suggestion | |
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | |
dotnet_style_predefined_type_for_member_access = true:suggestion | |
# static fields should have s_ prefix | |
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion | |
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields | |
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style | |
dotnet_naming_symbols.static_fields.applicable_kinds = field | |
dotnet_naming_symbols.static_fields.required_modifiers = static | |
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected | |
dotnet_naming_style.static_prefix_style.required_prefix = s_ | |
dotnet_naming_style.static_prefix_style.capitalization = camel_case | |
# name all private constant fields using UPPER_SNAKE_CASE | |
dotnet_naming_rule.constant_fields_should_be_upper_snake_case.severity = suggestion | |
dotnet_naming_rule.constant_fields_should_be_upper_snake_case.symbols = constant_fields | |
dotnet_naming_rule.constant_fields_should_be_upper_snake_case.style = UPPER_SNAKE_CASE_STYLE | |
dotnet_naming_symbols.constant_fields.applicable_kinds = field | |
dotnet_naming_symbols.constant_fields.required_modifiers = const | |
dotnet_naming_symbols.constant_fields.applicable_accessibilities = private, internal, private_protected | |
dotnet_naming_style.UPPER_SNAKE_CASE_STYLE.capitalization = all_upper | |
dotnet_naming_style.UPPER_SNAKE_CASE_STYLE.word_separator = _ | |
# internal and private fields should be _camelCase | |
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion | |
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields | |
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style | |
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field | |
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal | |
dotnet_naming_style.camel_case_underscore_style.required_prefix = _ | |
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case | |
# Code style defaults | |
csharp_using_directive_placement = outside_namespace:suggestion | |
dotnet_sort_system_directives_first = true | |
csharp_prefer_braces = true:silent | |
csharp_preserve_single_line_blocks = true:none | |
csharp_preserve_single_line_statements = false:none | |
csharp_prefer_static_local_function = true:suggestion | |
csharp_prefer_simple_using_statement = false:none | |
csharp_style_prefer_switch_expression = true:suggestion | |
# Code quality | |
dotnet_style_readonly_field = true:suggestion | |
dotnet_code_quality_unused_parameters = non_public: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_coalesce_expression = true:suggestion | |
dotnet_style_null_propagation = 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:suggestion | |
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | |
dotnet_style_prefer_conditional_expression_over_return = true:silent | |
csharp_prefer_simple_default_expression = true:suggestion | |
# Expression-bodied members | |
csharp_style_expression_bodied_methods = true:silent | |
csharp_style_expression_bodied_constructors = true:silent | |
csharp_style_expression_bodied_operators = true: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 = true:silent | |
# 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 | |
# Other features | |
csharp_style_prefer_index_operator = false:none | |
csharp_style_prefer_range_operator = false:none | |
csharp_style_pattern_local_over_anonymous_function = false:none | |
# 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 | |
# Analyzers | |
dotnet_code_quality.ca1802.api_surface = private, internal | |
dotnet_code_quality.ca1822.api_surface = private, internal | |
dotnet_code_quality.ca2208.api_surface = public | |
dotnet_analyzer_diagnostic.category-performance.severity = warning | |
dotnet_analyzer_diagnostic.severity = suggestion | |
# License header | |
# file_header_template = Licensed to the .NET Foundation under one or more agreements.\nThe .NET Foundation licenses this file to you under the MIT license. | |
# C++ Files | |
[*.{cpp,h,in}] | |
curly_bracket_next_line = true | |
indent_brace_style = Allman | |
# Xml project files | |
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}] | |
indent_size = 2 | |
[*.{csproj,vbproj,proj,nativeproj,locproj}] | |
charset = utf-8 | |
# Xml build files | |
[*.builds] | |
indent_size = 2 | |
# Xml files | |
[*.{xml,stylecop,resx,ruleset}] | |
indent_size = 2 | |
# Xml config files | |
[*.{props,targets,config,nuspec}] | |
indent_size = 2 | |
# YAML config files | |
[*.{yml,yaml}] | |
indent_size = 2 | |
# Shell scripts | |
[*.sh] | |
end_of_line = lf | |
[*.{cmd,bat}] | |
end_of_line = crlf | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment