29e192f241
* Change TargetFramework to net8.0 * Disable info messages * Fix warings * Disable additional analyzer messages * Fix typo * Add whitespace * Fix ref vs in warnings * Use explicit [In] on array parameters * No need to guard Remove with Contains * Use 'ArgumentOutOfRangeException.ThrowIf...' instead of explicitly throwing a new exception instance * Bump .NET SDK version * Enable JsonSerializerIsReflectionEnabledByDefault * Use 8.0.100 GA release * Bump System package versions --------- Co-authored-by: Zoltan Csizmadia <Zoltan.Csizmadia@vericast.com>
269 lines
12 KiB
INI
269 lines
12 KiB
INI
# Remove the line below if you want to inherit .editorconfig settings from higher directories
|
|
root = true
|
|
|
|
[*]
|
|
|
|
#### Core EditorConfig Options ####
|
|
|
|
# Indentation and spacing
|
|
indent_size = 4
|
|
indent_style = space
|
|
tab_width = 4
|
|
|
|
# New line preferences
|
|
end_of_line = lf
|
|
insert_final_newline = true
|
|
|
|
# JSON files
|
|
[*.json]
|
|
|
|
# Indentation and spacing
|
|
indent_size = 2
|
|
tab_width = 2
|
|
|
|
# C# files
|
|
[*.cs]
|
|
|
|
#### .NET Coding Conventions ####
|
|
|
|
# Organize usings
|
|
dotnet_separate_import_directive_groups = false
|
|
dotnet_sort_system_directives_first = false
|
|
|
|
# this. and Me. preferences
|
|
dotnet_style_qualification_for_event = false:silent
|
|
dotnet_style_qualification_for_field = false:silent
|
|
dotnet_style_qualification_for_method = false:silent
|
|
dotnet_style_qualification_for_property = 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_other_binary_operators = always_for_clarity:silent
|
|
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
|
|
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
|
|
|
|
# Modifier preferences
|
|
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
|
|
|
|
# Expression-level preferences
|
|
dotnet_style_coalesce_expression = true:suggestion
|
|
dotnet_style_collection_initializer = true:suggestion
|
|
dotnet_style_explicit_tuple_names = true:suggestion
|
|
dotnet_style_null_propagation = true:suggestion
|
|
dotnet_style_object_initializer = true:suggestion
|
|
dotnet_style_prefer_auto_properties = true:silent
|
|
dotnet_style_prefer_compound_assignment = true:suggestion
|
|
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
|
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
|
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
|
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
|
dotnet_style_prefer_simplified_interpolation = true:suggestion
|
|
|
|
# Field preferences
|
|
dotnet_style_readonly_field = true:suggestion
|
|
|
|
# Parameter preferences
|
|
dotnet_code_quality_unused_parameters = all:silent
|
|
|
|
#### C# Coding Conventions ####
|
|
|
|
# Namespace preferences
|
|
csharp_style_namespace_declarations = block_scoped:warning
|
|
resharper_csharp_namespace_body = block_scoped
|
|
|
|
# var preferences
|
|
csharp_style_var_elsewhere = false:silent
|
|
csharp_style_var_for_built_in_types = false:silent
|
|
csharp_style_var_when_type_is_apparent = false:silent
|
|
|
|
# Expression-bodied members
|
|
csharp_style_expression_bodied_accessors = true:silent
|
|
csharp_style_expression_bodied_constructors = false:silent
|
|
csharp_style_expression_bodied_indexers = true:silent
|
|
csharp_style_expression_bodied_lambdas = true:silent
|
|
csharp_style_expression_bodied_local_functions = false:silent
|
|
csharp_style_expression_bodied_methods = false:silent
|
|
csharp_style_expression_bodied_operators = false:silent
|
|
csharp_style_expression_bodied_properties = true:silent
|
|
|
|
# Pattern matching preferences
|
|
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
|
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
|
csharp_style_prefer_switch_expression = false:silent
|
|
|
|
# Null-checking preferences
|
|
csharp_style_conditional_delegate_call = true:suggestion
|
|
|
|
# Modifier preferences
|
|
csharp_prefer_static_local_function = true:suggestion
|
|
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
|
|
csharp_style_prefer_readonly_struct = true
|
|
csharp_style_prefer_method_group_conversion = true
|
|
|
|
# Code-block preferences
|
|
csharp_prefer_braces = true:silent
|
|
csharp_prefer_simple_using_statement = true:suggestion
|
|
|
|
# Expression-level preferences
|
|
csharp_prefer_simple_default_expression = true:suggestion
|
|
csharp_style_deconstructed_variable_declaration = true:suggestion
|
|
csharp_style_inlined_variable_declaration = 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_throw_expression = true:suggestion
|
|
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
|
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
|
csharp_style_implicit_object_creation_when_type_is_apparent = true
|
|
|
|
# 'using' directive preferences
|
|
csharp_using_directive_placement = outside_namespace:silent
|
|
|
|
#### C# Formatting Rules ####
|
|
|
|
# New line preferences
|
|
csharp_new_line_before_catch = true
|
|
csharp_new_line_before_else = true
|
|
csharp_new_line_before_finally = true
|
|
csharp_new_line_before_members_in_anonymous_types = true
|
|
csharp_new_line_before_members_in_object_initializers = true
|
|
csharp_new_line_before_open_brace = all
|
|
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_labels = one_less_than_current
|
|
csharp_indent_switch_labels = true
|
|
|
|
# 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_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
|
|
|
|
# Wrapping preferences
|
|
csharp_preserve_single_line_blocks = true
|
|
csharp_preserve_single_line_statements = false
|
|
|
|
#### Naming styles ####
|
|
|
|
# Naming rules
|
|
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.severity = suggestion
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.symbols = interface
|
|
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.style = IPascalCase
|
|
|
|
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
|
|
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
|
dotnet_naming_rule.types_should_be_pascal_case.style = PascalCase
|
|
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
|
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = PascalCase
|
|
|
|
dotnet_naming_rule.private_static_readonly_fields_should_be_camel_case_and_prefixed_with__.symbols = private_static_readonly_fields
|
|
dotnet_naming_rule.private_static_readonly_fields_should_be_camel_case_and_prefixed_with__.severity = suggestion
|
|
dotnet_naming_rule.private_static_readonly_fields_should_be_camel_case_and_prefixed_with__.style = _camelCase
|
|
|
|
dotnet_naming_rule.local_constants_should_be_pascal_case.symbols = local_constants
|
|
dotnet_naming_rule.local_constants_should_be_pascal_case.severity = suggestion
|
|
dotnet_naming_rule.local_constants_should_be_pascal_case.style = PascalCase
|
|
|
|
# Symbol specifications
|
|
|
|
dotnet_naming_symbols.interface.applicable_kinds = interface
|
|
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.interface.required_modifiers =
|
|
|
|
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
|
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.types.required_modifiers =
|
|
|
|
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
|
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
|
dotnet_naming_symbols.non_field_members.required_modifiers =
|
|
|
|
dotnet_naming_symbols.private_static_readonly_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.private_static_readonly_fields.applicable_accessibilities = private
|
|
dotnet_naming_symbols.private_static_readonly_fields.required_modifiers = static, readonly
|
|
|
|
dotnet_naming_symbols.local_constants.applicable_kinds = local
|
|
dotnet_naming_symbols.local_constants.applicable_accessibilities = local
|
|
dotnet_naming_symbols.local_constants.required_modifiers = const
|
|
|
|
# Naming styles
|
|
|
|
dotnet_naming_style._camelCase.required_prefix = _
|
|
dotnet_naming_style._camelCase.required_suffix =
|
|
dotnet_naming_style._camelCase.word_separator =
|
|
dotnet_naming_style._camelCase.capitalization = camel_case
|
|
|
|
dotnet_naming_style.PascalCase.required_prefix =
|
|
dotnet_naming_style.PascalCase.required_suffix =
|
|
dotnet_naming_style.PascalCase.word_separator =
|
|
dotnet_naming_style.PascalCase.capitalization = pascal_case
|
|
|
|
dotnet_naming_style.IPascalCase.required_prefix = I
|
|
dotnet_naming_style.IPascalCase.required_suffix =
|
|
dotnet_naming_style.IPascalCase.word_separator =
|
|
dotnet_naming_style.IPascalCase.capitalization = pascal_case
|
|
|
|
# TODO:
|
|
# .NET 8 migration (new warnings are caused by the NET 8 C# compiler and analyzer)
|
|
# The following info messages might need to be fixed in the source code instead of hiding the actual message
|
|
# Without the following lines, dotnet format would fail
|
|
# Disable "Collection initialization can be simplified"
|
|
dotnet_diagnostic.IDE0028.severity = none
|
|
dotnet_diagnostic.IDE0300.severity = none
|
|
dotnet_diagnostic.IDE0301.severity = none
|
|
dotnet_diagnostic.IDE0302.severity = none
|
|
dotnet_diagnostic.IDE0305.severity = none
|
|
# Disable "'new' expression can be simplified"
|
|
dotnet_diagnostic.IDE0090.severity = none
|
|
# Disable "Use primary constructor"
|
|
dotnet_diagnostic.IDE0290.severity = none
|
|
# Disable "Member '' does not access instance data and can be marked as static"
|
|
dotnet_diagnostic.CA1822.severity = none
|
|
# Disable "Change type of field '' from '' to '' for improved performance"
|
|
dotnet_diagnostic.CA1859.severity = none
|
|
# Disable "Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array"
|
|
dotnet_diagnostic.CA1861.severity = none
|
|
# Disable "Prefer using 'string.Equals(string, StringComparison)' to perform a case-insensitive comparison, but keep in mind that this might cause subtle changes in behavior, so make sure to conduct thorough testing after applying the suggestion, or if culturally sensitive comparison is not required, consider using 'StringComparison.OrdinalIgnoreCase'"
|
|
dotnet_diagnostic.CA1862.severity = none
|
|
|
|
[src/Ryujinx.HLE/HOS/Services/**.cs]
|
|
# Disable "mark members as static" rule for services
|
|
dotnet_diagnostic.CA1822.severity = none
|
|
|
|
[src/Ryujinx.Ava/UI/ViewModels/**.cs]
|
|
# Disable "mark members as static" rule for ViewModels
|
|
dotnet_diagnostic.CA1822.severity = none
|
|
|
|
[src/Ryujinx.Tests/Cpu/*.cs]
|
|
# Disable naming rules for CPU tests
|
|
dotnet_diagnostic.IDE1006.severity = none
|