Mirrors CSharpier conventions (4-space indent, Allman braces, System-first usings, 100-col wraps) so IDE auto-format and 'dotnet format' agree with the canonical formatter. Usage: dotnet tool restore && dotnet csharpier format .
69 lines
2.5 KiB
INI
69 lines
2.5 KiB
INI
# Unified code style for OpenNest.
|
|
# Canonical formatter: CSharpier (see .config/dotnet-tools.json).
|
|
# dotnet tool restore
|
|
# dotnet csharpier check . # verify before committing
|
|
# dotnet csharpier format . # fix
|
|
# These settings match CSharpier's conventions so IDE auto-formatting
|
|
# (VS / Rider / VS Code) stays consistent with the formatter.
|
|
|
|
root = true
|
|
|
|
[*]
|
|
charset = utf-8
|
|
end_of_line = lf
|
|
insert_final_newline = true
|
|
trim_trailing_whitespace = true
|
|
|
|
[*.{csproj,props,targets,xml,config,manifest}]
|
|
indent_style = space
|
|
indent_size = 2
|
|
|
|
[*.{json,yml,yaml}]
|
|
indent_style = space
|
|
indent_size = 2
|
|
|
|
[*.{cs,csx}]
|
|
indent_style = space
|
|
indent_size = 4
|
|
# CSharpier wraps code at 100 columns; dotnet format cannot re-wrap, but
|
|
# IDEs surface a visual guide and analyzers can flag hard violations.
|
|
max_line_length = 100
|
|
|
|
# --- Using directives (System first, outside the namespace) ---
|
|
dotnet_sort_system_directives_first = true
|
|
csharp_using_directive_placement = outside_namespace:warning
|
|
|
|
# --- Brace placement: Allman (opening brace on its own line) ---
|
|
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
|
|
csharp_new_line_before_members_in_object_initializers = true
|
|
csharp_new_line_before_members_in_anonymous_types = true
|
|
csharp_new_line_between_query_expression_clauses = true
|
|
|
|
# --- Spacing ---
|
|
csharp_space_after_keywords_in_control_flow_statements = true
|
|
csharp_space_between_method_call_parameter_list_parentheses = false
|
|
csharp_space_between_method_declaration_parameter_list_parentheses = false
|
|
csharp_space_between_parentheses = false
|
|
csharp_space_before_colon_in_inheritance_clause = true
|
|
csharp_space_after_colon_in_inheritance_clause = true
|
|
csharp_space_around_binary_operators = before_and_after
|
|
csharp_space_after_cast = false
|
|
csharp_space_after_comma = true
|
|
csharp_space_before_comma = false
|
|
|
|
# --- Code style preferences ---
|
|
# Project rule: always use var for locals (see CLAUDE.md).
|
|
csharp_style_var_for_built_in_types = true:suggestion
|
|
csharp_style_var_when_type_is_apparent = true:suggestion
|
|
csharp_style_var_elsewhere = true:suggestion
|
|
csharp_prefer_braces = true:suggestion
|
|
csharp_prefer_simple_using_statement = true:suggestion
|
|
csharp_style_namespace_declarations = file_scoped:silent
|
|
dotnet_style_prefer_auto_properties = true:suggestion
|
|
dotnet_style_object_initializer = true:suggestion
|
|
dotnet_style_collection_initializer = true:suggestion
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|