1
+ # ##############################
2
+ # Core EditorConfig Options #
3
+ # ##############################
4
+
5
+ root = true
6
+
7
+ # All files
8
+ [* ]
9
+ indent_style = space
10
+
11
+ # Code files
12
+ [* .{cs,csx} ]
13
+ indent_size = 4
14
+ insert_final_newline = true
15
+ charset = utf-8
16
+
17
+ # ##############################
18
+ # .NET Coding Conventions #
19
+ # ##############################
20
+
21
+ [* .{cs} ]
22
+ # Organize usings
23
+ dotnet_sort_system_directives_first = true
24
+
25
+ # this. preferences
26
+ dotnet_style_qualification_for_field = false :error
27
+ dotnet_style_qualification_for_property = false :error
28
+ dotnet_style_qualification_for_method = false :error
29
+ dotnet_style_qualification_for_event = false :error
30
+
31
+ # Language keywords vs BCL types preferences
32
+ dotnet_style_predefined_type_for_locals_parameters_members = true :error
33
+ dotnet_style_predefined_type_for_member_access = true :error
34
+
35
+ # Parentheses preferences
36
+ dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:error
37
+ dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:error
38
+ dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:error
39
+ dotnet_style_parentheses_in_other_operators = never_if_unnecessary:error
40
+
41
+ # Modifier preferences
42
+ dotnet_style_require_accessibility_modifiers = for_non_interface_members:error
43
+ dotnet_style_readonly_field = true :error
44
+
45
+ # Expression-level preferences
46
+ dotnet_style_object_initializer = true :error
47
+ dotnet_style_collection_initializer = true :error
48
+ dotnet_style_explicit_tuple_names = true :error
49
+ dotnet_style_null_propagation = true :error
50
+ dotnet_style_coalesce_expression = true :error
51
+ dotnet_style_prefer_is_null_check_over_reference_equality_method = true :error
52
+ dotnet_style_prefer_inferred_tuple_names = true :error
53
+ dotnet_style_prefer_inferred_anonymous_type_member_names = true :error
54
+ dotnet_style_prefer_auto_properties = true :error
55
+ dotnet_style_prefer_conditional_expression_over_assignment = true :error
56
+ dotnet_style_prefer_conditional_expression_over_return = true :suggestion
57
+
58
+ # ##############################
59
+ # Naming Conventions #
60
+ # ##############################
61
+
62
+ # Style Definitions
63
+ dotnet_naming_style.pascal_case_style.capitalization = pascal_case
64
+
65
+ # Use PascalCase for constant fields
66
+ dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = error
67
+ dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
68
+ dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
69
+ dotnet_naming_symbols.constant_fields.applicable_kinds = field
70
+ dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
71
+ dotnet_naming_symbols.constant_fields.required_modifiers = const
72
+
73
+ # ##############################
74
+ # C# Code Style Rules #
75
+ # ##############################
76
+
77
+ [* .cs ]
78
+ # var preferences
79
+ csharp_style_var_for_built_in_types = true :error
80
+ csharp_style_var_when_type_is_apparent = true :error
81
+ csharp_style_var_elsewhere = true :none
82
+
83
+ # Expression-bodied members
84
+ csharp_style_expression_bodied_methods = false :none
85
+ csharp_style_expression_bodied_constructors = false :none
86
+ csharp_style_expression_bodied_operators = false :none
87
+ csharp_style_expression_bodied_properties = false :none
88
+ csharp_style_expression_bodied_indexers = false :none
89
+ csharp_style_expression_bodied_accessors = false :none
90
+
91
+ # Pattern-matching preferences
92
+ csharp_style_pattern_matching_over_is_with_cast_check = true :error
93
+ csharp_style_pattern_matching_over_as_with_null_check = true :error
94
+
95
+ # Null-checking preferences
96
+ csharp_style_throw_expression = true :error
97
+ csharp_style_conditional_delegate_call = true :error
98
+
99
+ # Modifier preferences
100
+ csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
101
+
102
+ # Expression-level preferences
103
+ csharp_prefer_braces = true :error
104
+ csharp_style_deconstructed_variable_declaration = true :error
105
+ csharp_prefer_simple_default_expression = true :error
106
+ csharp_style_pattern_local_over_anonymous_function = true :error
107
+ csharp_style_inlined_variable_declaration = true :error
108
+
109
+ # ##############################
110
+ # C# Formatting Rules #
111
+ # ##############################
112
+
113
+ # New line preferences
114
+ csharp_new_line_before_open_brace = all
115
+ csharp_new_line_before_else = true
116
+ csharp_new_line_before_catch = true
117
+ csharp_new_line_before_finally = true
118
+ csharp_new_line_before_members_in_object_initializers = true
119
+ csharp_new_line_before_members_in_anonymous_types = true
120
+ csharp_new_line_between_query_expression_clauses = true
121
+
122
+ # Indentation preferences
123
+ csharp_indent_case_contents = true
124
+ csharp_indent_switch_labels = true
125
+ csharp_indent_labels = flush_left
126
+
127
+ # Space preferences
128
+ csharp_space_after_cast = false
129
+ csharp_space_after_keywords_in_control_flow_statements = true
130
+ csharp_space_between_method_call_parameter_list_parentheses = false
131
+ csharp_space_between_method_declaration_parameter_list_parentheses = false
132
+ csharp_space_between_parentheses = false
133
+ csharp_space_before_colon_in_inheritance_clause = true
134
+ csharp_space_after_colon_in_inheritance_clause = true
135
+ csharp_space_around_binary_operators = before_and_after
136
+ csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
137
+ csharp_space_between_method_call_name_and_opening_parenthesis = false
138
+ csharp_space_between_method_call_empty_parameter_list_parentheses = false
139
+
140
+ # Wrapping preferences
141
+ csharp_preserve_single_line_statements = true
142
+ csharp_preserve_single_line_blocks = true
143
+
144
+ # RS1003: Unsupported SymbolKind argument when registering a symbol analyzer action.
145
+ # RS1003 is no longer relevant: https://github.com/dotnet/roslyn/issues/16214
146
+ dotnet_diagnostic.RS1003.severity = none
147
+
148
+ # Ignore paths
149
+ [src/FileCacheMetadata/Migrations/** ]
150
+ generated_code = true
0 commit comments