root = true [*] charset = utf-8 end_of_line = crlf indent_style = space indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true [*.{xml,axaml,xaml,csproj,props,targets,json,yml,yaml}] indent_size = 2 [*.md] trim_trailing_whitespace = false # EF writes these; style rules are not ours to enforce on them. [**/Migrations/*.cs] generated_code = true dotnet_analyzer_diagnostic.severity = none [*.cs] # Namespaces csharp_style_namespace_declarations = file_scoped:warning # var csharp_style_var_when_type_is_apparent = true:suggestion csharp_style_var_elsewhere = true:suggestion # Modern language features csharp_style_expression_bodied_methods = when_on_single_line:suggestion csharp_style_expression_bodied_properties = true:suggestion csharp_style_prefer_primary_constructors = true:suggestion csharp_style_prefer_pattern_matching = true:suggestion csharp_style_prefer_switch_expression = true:suggestion csharp_prefer_braces = true:warning csharp_prefer_simple_using_statement = true:suggestion dotnet_style_collection_initializer = true:suggestion dotnet_style_prefer_collection_expression = true:suggestion dotnet_style_readonly_field = true:warning dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning # Usings dotnet_sort_system_directives_first = true csharp_using_directive_placement = outside_namespace:warning # Naming: private fields are _camelCase dotnet_naming_rule.private_fields_underscore.symbols = private_fields dotnet_naming_rule.private_fields_underscore.style = underscore_prefix dotnet_naming_rule.private_fields_underscore.severity = warning dotnet_naming_symbols.private_fields.applicable_kinds = field dotnet_naming_symbols.private_fields.applicable_accessibilities = private dotnet_naming_symbols.private_fields.required_modifiers = dotnet_naming_style.underscore_prefix.capitalization = camel_case dotnet_naming_style.underscore_prefix.required_prefix = _