root = true [*] charset = utf-8 # LF: пишут инструменты проекта (Python/Node), требуется shell-скриптам на Linux CI end_of_line = lf insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true [*.{cs,vb}] indent_size = 4 # Стиль фигурных скобок — Allman (на отдельной строке) 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 # using — в начале файла dotnet_sort_system_directives_first = true # Модификаторы доступа — всегда явные dotnet_style_require_accessibility_modifiers = always:error # Квалификация this. — запрещена (поля, свойства, методы, события) 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 # Члены # var — запрещён для встроенных типов (ломает сборку), для очевидных/прочих — silent (§4 код-стайла) csharp_style_var_for_built_in_types = false:warning csharp_style_var_when_type_is_apparent = false:silent csharp_style_var_elsewhere = false:silent [*.cs] # Отключить лишние правила IDE, которые конфликтуют с код-стайлом проекта dotnet_diagnostic.IDE0290.severity = none # --- Правила именования --- # Приватные const-поля: PascalCase # Приватные static readonly-поля (константоподобные): PascalCase # Остальные приватные поля: обязательный префикс `_` + camelCase dotnet_naming_rule.private_const_fields_pascal.severity = warning dotnet_naming_rule.private_const_fields_pascal.symbols = private_const_fields dotnet_naming_rule.private_const_fields_pascal.style = pascal_case_style dotnet_naming_symbols.private_const_fields.applicable_kinds = field dotnet_naming_symbols.private_const_fields.applicable_accessibilities = private dotnet_naming_symbols.private_const_fields.required_modifiers = const dotnet_naming_rule.private_static_readonly_fields_pascal.severity = warning dotnet_naming_rule.private_static_readonly_fields_pascal.symbols = private_static_readonly_fields dotnet_naming_rule.private_static_readonly_fields_pascal.style = pascal_case_style 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_style.pascal_case_style.capitalization = pascal_case dotnet_naming_rule.private_fields_underscore_camel.severity = warning dotnet_naming_rule.private_fields_underscore_camel.symbols = private_fields dotnet_naming_rule.private_fields_underscore_camel.style = underscore_camel_style dotnet_naming_symbols.private_fields.applicable_kinds = field dotnet_naming_symbols.private_fields.applicable_accessibilities = private dotnet_naming_style.underscore_camel_style.required_prefix = _ dotnet_naming_style.underscore_camel_style.capitalization = camel_case dotnet_diagnostic.IDE1006.severity = warning