mirror of
https://github.com/ppy/osu.git
synced 2024-12-05 10:33:22 +08:00
442b61da84
I'm not actually sure whether the editorconfig incantation does anything but it's the one official sources give: https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0290
210 lines
9.4 KiB
INI
210 lines
9.4 KiB
INI
# EditorConfig is awesome: http://editorconfig.org
|
|
root = true
|
|
|
|
[*.{csproj,props,targets}]
|
|
charset = utf-8-bom
|
|
end_of_line = crlf
|
|
insert_final_newline = true
|
|
indent_style = space
|
|
indent_size = 2
|
|
trim_trailing_whitespace = true
|
|
|
|
[g_*.cs]
|
|
generated_code = true
|
|
|
|
[*.cs]
|
|
end_of_line = crlf
|
|
insert_final_newline = true
|
|
indent_style = space
|
|
indent_size = 4
|
|
trim_trailing_whitespace = true
|
|
|
|
#license header
|
|
file_header_template = Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.\nSee the LICENCE file in the repository root for full licence text.
|
|
|
|
#Roslyn naming styles
|
|
|
|
#PascalCase for public and protected members
|
|
dotnet_naming_style.pascalcase.capitalization = pascal_case
|
|
dotnet_naming_symbols.public_members.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
|
|
dotnet_naming_symbols.public_members.applicable_kinds = property,method,field,event
|
|
dotnet_naming_rule.public_members_pascalcase.severity = error
|
|
dotnet_naming_rule.public_members_pascalcase.symbols = public_members
|
|
dotnet_naming_rule.public_members_pascalcase.style = pascalcase
|
|
|
|
#camelCase for private members
|
|
dotnet_naming_style.camelcase.capitalization = camel_case
|
|
|
|
dotnet_naming_symbols.private_members.applicable_accessibilities = private
|
|
dotnet_naming_symbols.private_members.applicable_kinds = property,method,field,event
|
|
dotnet_naming_rule.private_members_camelcase.severity = warning
|
|
dotnet_naming_rule.private_members_camelcase.symbols = private_members
|
|
dotnet_naming_rule.private_members_camelcase.style = camelcase
|
|
|
|
dotnet_naming_symbols.local_function.applicable_kinds = local_function
|
|
dotnet_naming_rule.local_function_camelcase.severity = warning
|
|
dotnet_naming_rule.local_function_camelcase.symbols = local_function
|
|
dotnet_naming_rule.local_function_camelcase.style = camelcase
|
|
|
|
#all_lower for private and local constants/static readonlys
|
|
dotnet_naming_style.all_lower.capitalization = all_lower
|
|
dotnet_naming_style.all_lower.word_separator = _
|
|
|
|
dotnet_naming_symbols.private_constants.applicable_accessibilities = private
|
|
dotnet_naming_symbols.private_constants.required_modifiers = const
|
|
dotnet_naming_symbols.private_constants.applicable_kinds = field
|
|
dotnet_naming_rule.private_const_all_lower.severity = warning
|
|
dotnet_naming_rule.private_const_all_lower.symbols = private_constants
|
|
dotnet_naming_rule.private_const_all_lower.style = all_lower
|
|
|
|
dotnet_naming_symbols.private_static_readonly.applicable_accessibilities = private
|
|
dotnet_naming_symbols.private_static_readonly.required_modifiers = static,readonly
|
|
dotnet_naming_symbols.private_static_readonly.applicable_kinds = field
|
|
dotnet_naming_rule.private_static_readonly_all_lower.severity = warning
|
|
dotnet_naming_rule.private_static_readonly_all_lower.symbols = private_static_readonly
|
|
dotnet_naming_rule.private_static_readonly_all_lower.style = all_lower
|
|
|
|
dotnet_naming_symbols.local_constants.applicable_kinds = local
|
|
dotnet_naming_symbols.local_constants.required_modifiers = const
|
|
dotnet_naming_rule.local_const_all_lower.severity = warning
|
|
dotnet_naming_rule.local_const_all_lower.symbols = local_constants
|
|
dotnet_naming_rule.local_const_all_lower.style = all_lower
|
|
|
|
#ALL_UPPER for non private constants/static readonlys
|
|
dotnet_naming_style.all_upper.capitalization = all_upper
|
|
dotnet_naming_style.all_upper.word_separator = _
|
|
|
|
dotnet_naming_symbols.public_constants.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
|
|
dotnet_naming_symbols.public_constants.required_modifiers = const
|
|
dotnet_naming_symbols.public_constants.applicable_kinds = field
|
|
dotnet_naming_rule.public_const_all_upper.severity = warning
|
|
dotnet_naming_rule.public_const_all_upper.symbols = public_constants
|
|
dotnet_naming_rule.public_const_all_upper.style = all_upper
|
|
|
|
dotnet_naming_symbols.public_static_readonly.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
|
|
dotnet_naming_symbols.public_static_readonly.required_modifiers = static,readonly
|
|
dotnet_naming_symbols.public_static_readonly.applicable_kinds = field
|
|
dotnet_naming_rule.public_static_readonly_all_upper.severity = warning
|
|
dotnet_naming_rule.public_static_readonly_all_upper.symbols = public_static_readonly
|
|
dotnet_naming_rule.public_static_readonly_all_upper.style = all_upper
|
|
|
|
#Roslyn formating options
|
|
|
|
#Formatting - indentation options
|
|
csharp_indent_case_contents = true
|
|
csharp_indent_case_contents_when_block = false
|
|
csharp_indent_labels = one_less_than_current
|
|
csharp_indent_switch_labels = true
|
|
|
|
#Formatting - new line options
|
|
csharp_new_line_before_catch = true
|
|
csharp_new_line_before_else = true
|
|
csharp_new_line_before_finally = true
|
|
csharp_new_line_before_open_brace = all
|
|
#csharp_new_line_before_members_in_anonymous_types = true
|
|
#csharp_new_line_before_members_in_object_initializers = true # Currently no effect in VS/dotnet format (16.4), and makes Rider confusing
|
|
csharp_new_line_between_query_expression_clauses = true
|
|
|
|
#Formatting - organize using options
|
|
dotnet_sort_system_directives_first = true
|
|
|
|
#Formatting - spacing options
|
|
csharp_space_after_cast = false
|
|
csharp_space_after_colon_in_inheritance_clause = true
|
|
csharp_space_after_keywords_in_control_flow_statements = true
|
|
csharp_space_before_colon_in_inheritance_clause = true
|
|
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_parameter_list_parentheses = false
|
|
|
|
#Formatting - wrapping options
|
|
csharp_preserve_single_line_blocks = true
|
|
csharp_preserve_single_line_statements = true
|
|
|
|
#Roslyn language styles
|
|
|
|
#Style - this. qualification
|
|
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
|
|
|
|
#Style - type names
|
|
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
|
|
dotnet_style_predefined_type_for_member_access = true:warning
|
|
csharp_style_var_when_type_is_apparent = true:none
|
|
csharp_style_var_for_built_in_types = false:warning
|
|
csharp_style_var_elsewhere = true:silent
|
|
|
|
#Style - modifiers
|
|
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
|
|
csharp_preferred_modifier_order = public,private,protected,internal,new,abstract,virtual,sealed,override,static,readonly,extern,unsafe,volatile,async:warning
|
|
|
|
#Style - parentheses
|
|
# Skipped because roslyn cannot separate +-*/ with << >>
|
|
|
|
#Style - expression bodies
|
|
csharp_style_expression_bodied_accessors = true:warning
|
|
csharp_style_expression_bodied_constructors = false:none
|
|
csharp_style_expression_bodied_indexers = true:warning
|
|
csharp_style_expression_bodied_methods = false:silent
|
|
csharp_style_expression_bodied_operators = true:warning
|
|
csharp_style_expression_bodied_properties = true:warning
|
|
csharp_style_expression_bodied_local_functions = true:silent
|
|
|
|
#Style - expression preferences
|
|
dotnet_style_object_initializer = true:warning
|
|
dotnet_style_collection_initializer = true:warning
|
|
dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
|
|
dotnet_style_prefer_auto_properties = true:warning
|
|
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
|
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
|
dotnet_style_prefer_compound_assignment = true:warning
|
|
|
|
#Style - null/type checks
|
|
dotnet_style_coalesce_expression = true:warning
|
|
dotnet_style_null_propagation = true:warning
|
|
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
|
|
csharp_style_pattern_matching_over_as_with_null_check = true:warning
|
|
csharp_style_throw_expression = true:silent
|
|
csharp_style_conditional_delegate_call = true:warning
|
|
|
|
#Style - unused
|
|
dotnet_style_readonly_field = true:silent
|
|
dotnet_code_quality_unused_parameters = non_public:silent
|
|
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
|
csharp_style_unused_value_assignment_preference = discard_variable:warning
|
|
|
|
#Style - variable declaration
|
|
csharp_style_inlined_variable_declaration = true:warning
|
|
csharp_style_deconstructed_variable_declaration = false:silent
|
|
|
|
#Style - other C# 7.x features
|
|
dotnet_style_prefer_inferred_tuple_names = true:warning
|
|
csharp_prefer_simple_default_expression = true:warning
|
|
csharp_style_pattern_local_over_anonymous_function = true:warning
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
|
|
|
|
#Style - C# 8 features
|
|
csharp_prefer_static_local_function = true:warning
|
|
csharp_prefer_simple_using_statement = true:silent
|
|
csharp_style_prefer_index_operator = false:silent
|
|
csharp_style_prefer_range_operator = false:silent
|
|
csharp_style_prefer_switch_expression = false:none
|
|
|
|
csharp_style_namespace_declarations = block_scoped:warning
|
|
|
|
#Style - C# 12 features
|
|
csharp_style_prefer_primary_constructors = false
|
|
|
|
[*.{yaml,yml}]
|
|
insert_final_newline = true
|
|
indent_style = space
|
|
indent_size = 2
|
|
trim_trailing_whitespace = true
|
|
|
|
dotnet_diagnostic.OLOC001.words_in_name = 5
|
|
dotnet_diagnostic.OLOC001.license_header = // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.\n// See the LICENCE file in the repository root for full licence text.
|