chore: add .editorconfig and pinned CSharpier tool manifest
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 .
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user