From 84425718aaee7dea25577248ef379314afddb0a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 1 Apr 2026 12:58:43 +0000 Subject: [PATCH] eng: enhance .editorconfig with modern C# idiom preferences Add missing code style rules that codify the idioms already used in the codebase, making IDE suggestions consistent for all contributors: - csharp_style_prefer_range_operator / prefer_index_operator: prefer range indexers ([..n], [n..], [^1]) over Substring / Length-based arithmetic (directly reinforces the refactoring in GatewayUrlHelper) - csharp_style_prefer_switch_expression: prefer switch expressions over if/else chains (already used throughout Models.cs etc.) - csharp_style_prefer_pattern_matching / prefer_not_pattern - csharp_prefer_simple_using_statement: prefer declaration-style 'using var x = ...' without a nested block - dotnet_style_prefer_simplified_boolean_expressions - dotnet_style_prefer_inferred_tuple_names / prefer_inferred_anonymous_type_member_names No functional changes. 521 shared + 99 tray tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .editorconfig | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.editorconfig b/.editorconfig index 067480f..f1a374e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -47,6 +47,16 @@ csharp_style_expression_bodied_constructors = false:silent # Pattern matching csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_prefer_pattern_matching = true:suggestion +csharp_style_prefer_switch_expression = true:suggestion +csharp_style_prefer_not_pattern = true:suggestion + +# Modern C# index and range operators +csharp_style_prefer_range_operator = true:suggestion +csharp_style_prefer_index_operator = true:suggestion + +# Simplified using statements (using var x = ...; without braces) +csharp_prefer_simple_using_statement = true:suggestion # Null checks csharp_style_conditional_delegate_call = true:suggestion @@ -92,6 +102,13 @@ dotnet_style_collection_initializer = true:suggestion # Tuple names dotnet_style_explicit_tuple_names = true:suggestion +# Prefer simplified boolean expressions (e.g. 'x' over 'x == true') +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion + +# Prefer inferred tuple/anonymous type member names +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion + # Naming conventions — private instance fields: _camelCase dotnet_naming_rule.private_fields_should_be_camel_case.severity = suggestion dotnet_naming_rule.private_fields_should_be_camel_case.symbols = private_instance_fields