root = true [*] charset = utf-8 end_of_line = lf indent_style = space indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true [*.{yml,yaml,json,xml,csproj,props,slnx}] indent_size = 2 [*.md] trim_trailing_whitespace = false [*.cs] # Layout csharp_style_namespace_declarations = file_scoped:warning csharp_using_directive_placement = outside_namespace:warning dotnet_sort_system_directives_first = true csharp_new_line_before_open_brace = all csharp_prefer_braces = true:warning csharp_style_expression_bodied_methods = when_on_single_line:silent csharp_style_expression_bodied_properties = true:silent # var only where the type is apparent csharp_style_var_for_built_in_types = false:silent csharp_style_var_when_type_is_apparent = true:silent csharp_style_var_elsewhere = true:silent # Naming: private fields are _camelCase, constants PascalCase dotnet_naming_rule.private_fields_underscore.symbols = private_fields dotnet_naming_rule.private_fields_underscore.style = underscore_camel 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_style.underscore_camel.required_prefix = _ dotnet_naming_style.underscore_camel.capitalization = camel_case dotnet_naming_rule.constants_pascal.symbols = constants dotnet_naming_rule.constants_pascal.style = pascal dotnet_naming_rule.constants_pascal.severity = warning dotnet_naming_symbols.constants.applicable_kinds = field dotnet_naming_symbols.constants.required_modifiers = const dotnet_naming_style.pascal.capitalization = pascal_case # Code style enforced in the build dotnet_diagnostic.IDE0005.severity = warning dotnet_diagnostic.IDE0161.severity = warning dotnet_diagnostic.IDE0011.severity = warning # Logging is event-driven and low-volume (like in Jellyfin itself); LoggerMessage delegates would only add noise. dotnet_diagnostic.CA1848.severity = none dotnet_diagnostic.CA1873.severity = none