69 lines
2.5 KiB
INI
69 lines
2.5 KiB
INI
# Unified code style for OpenNest.
|
|
# Canonical formatter: dotnet format.
|
|
# Format only the files or directories being changed:
|
|
# dotnet format OpenNest.sln --include path/to/changed-file.cs
|
|
# dotnet format OpenNest.sln --include path/to/changed-file.cs --verify-no-changes
|
|
# These settings are used by dotnet format and IDE auto-formatting
|
|
# (VS / Rider / VS Code).
|
|
|
|
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
|
|
# dotnet format cannot re-wrap source to this limit, but IDEs can surface it
|
|
# as 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
|