1+ # EditorConfig is awesome: https://EditorConfig.org
2+ # top-most EditorConfig file
3+ root = true
4+ # Unix-style newlines with a newline ending every file
5+ [* ]
6+ end_of_line = lf
7+ insert_final_newline = true
8+ trim_trailing_whitespace = true
9+ # Matches multiple files with brace expansion notation
10+ # Set default charset
11+ [* .js ]
12+ charset = utf-8
13+ # Solution Files
14+ [* .sln ]
15+ indent_style = tab
16+ # XML Project Files
17+ [* .{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj} ]
18+ indent_size = 2
19+ # YAML Files
20+ [* .{yml,yaml} ]
21+ indent_size = 2
22+ indent_style = space
23+ # Markdown Files
24+ [* .md ]
25+ trim_trailing_whitespace = false
26+ # .NET Code Style Settings
27+ [* .{cs,csx,cake,vb} ]
28+ # "this." and "Me." qualifiers
29+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#this_and_me
30+ dotnet_style_qualification_for_field = false :warning
31+ dotnet_style_qualification_for_property = false :warning
32+ dotnet_style_qualification_for_method = false :warning
33+ dotnet_style_qualification_for_event = false :warning
34+ # Language keywords instead of framework type names for type references
35+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language_keywords
36+ dotnet_style_predefined_type_for_locals_parameters_members = true :warning
37+ dotnet_style_predefined_type_for_member_access = true :warning
38+ # Modifier preferences
39+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#normalize_modifiers
40+ dotnet_style_require_accessibility_modifiers = always:warning
41+ csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
42+ visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async
43+ dotnet_style_readonly_field = true :warning
44+ # Expression-level preferences
45+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level
46+ dotnet_style_object_initializer = true :warning
47+ dotnet_style_collection_initializer = true :warning
48+ dotnet_style_explicit_tuple_names = true :warning
49+ dotnet_style_prefer_inferred_tuple_names = true :warning
50+ dotnet_style_prefer_inferred_anonymous_type_member_names = true :warning
51+ dotnet_style_prefer_auto_properties = true :warning
52+ dotnet_style_prefer_is_null_check_over_reference_equality_method = true :warning
53+ # Null-checking preferences
54+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking
55+ dotnet_style_coalesce_expression = true :warning
56+ dotnet_style_null_propagation = true :warning
57+ # Other (Undocumented)
58+ dotnet_style_prefer_conditional_expression_over_return = false
59+ dotnet_style_prefer_conditional_expression_over_assignment = false
60+ # C# Code Style Settings
61+ [* .{cs,csx,cake} ]
62+ # Implicit and explicit types
63+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#implicit-and-explicit-types
64+ csharp_style_var_for_built_in_types = true :warning
65+ csharp_style_var_when_type_is_apparent = true :warning
66+ csharp_style_var_elsewhere = true :warning
67+ # Expression-bodied members
68+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_bodied_members
69+ csharp_style_expression_bodied_methods = false :warning
70+ csharp_style_expression_bodied_constructors = false :warning
71+ csharp_style_expression_bodied_operators = true :warning
72+ csharp_style_expression_bodied_properties = true :warning
73+ csharp_style_expression_bodied_indexers = true :warning
74+ csharp_style_expression_bodied_accessors = true :warning
75+ # Pattern matching
76+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#pattern_matching
77+ csharp_style_pattern_matching_over_is_with_cast_check = true :warning
78+ csharp_style_pattern_matching_over_as_with_null_check = true :warning
79+ # Inlined variable declarations
80+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#inlined_variable_declarations
81+ csharp_style_inlined_variable_declaration = true :warning
82+ # Expression-level preferences
83+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level_csharp
84+ csharp_prefer_simple_default_expression = true :warning
85+ csharp_style_deconstructed_variable_declaration = true :warning
86+ csharp_style_pattern_local_over_anonymous_function = true :warning
87+ # "Null" checking preferences
88+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking_csharp
89+ csharp_style_throw_expression = true :warning
90+ csharp_style_conditional_delegate_call = true :warning
91+ # Code block preferences
92+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#code_block
93+ csharp_prefer_braces = true :warning
94+ # ############################
95+ # .NET Formatting Conventions
96+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions
97+ # ############################
98+ # Organize usings
99+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#usings
100+ dotnet_sort_system_directives_first = true :warning
101+ # C# formatting settings
102+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-settings
103+ csharp_new_line_before_open_brace = all
104+ csharp_new_line_before_else = true :warning
105+ csharp_new_line_before_catch = true :warning
106+ csharp_new_line_before_finally = true :warning
107+ csharp_new_line_before_members_in_object_initializers = true :warning
108+ csharp_new_line_before_members_in_anonymous_types = true :warning
109+ csharp_new_line_between_query_expression_clauses = true :warning
110+ # Indentation options
111+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#indent
112+ csharp_indent_case_contents = true :warning
113+ csharp_indent_switch_labels = true :warning
114+ csharp_indent_labels = no_change:warning
115+ # Spacing options
116+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#spacing
117+ csharp_space_after_cast = false :warning
118+ csharp_space_after_keywords_in_control_flow_statements = true :warning
119+ csharp_space_between_method_declaration_parameter_list_parentheses = false :warning
120+ csharp_space_between_method_call_parameter_list_parentheses = false :warning
121+ csharp_space_between_parentheses = expressions:warning
122+ csharp_space_before_colon_in_inheritance_clause = true :warning
123+ csharp_space_after_colon_in_inheritance_clause = true :warning
124+ csharp_space_around_binary_operators = before_and_after:warning
125+ csharp_space_between_method_declaration_empty_parameter_list_parentheses = false :warning
126+ csharp_space_between_method_call_name_and_opening_parenthesis = false :warning
127+ csharp_space_between_method_call_empty_parameter_list_parentheses = false :warning
128+ # Wrapping options
129+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#wrapping
130+ csharp_preserve_single_line_statements = false :warning
131+ csharp_preserve_single_line_blocks = true :warning
132+ # More Indentation options (Undocumented)
133+ csharp_indent_block_contents = true :warning
134+ csharp_indent_braces = false :warning
135+ # Spacing Options (Undocumented)
136+ csharp_space_after_comma = true :warning
137+ csharp_space_after_dot = false :warning
138+ csharp_space_after_semicolon_in_for_statement = true :warning
139+ csharp_space_around_declaration_statements = do_not_ignore:warning
140+ csharp_space_before_comma = false :warning
141+ csharp_space_before_dot = false :warning
142+ csharp_space_before_semicolon_in_for_statement = false :warning
143+ csharp_space_before_open_square_brackets = false :warning
144+ csharp_space_between_empty_square_brackets = false :warning
145+ csharp_space_between_method_declaration_name_and_open_parenthesis = false :warning
146+ csharp_space_between_square_brackets = false :warning
147+ # ########################
148+ # .NET Naming conventions
149+ # https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-naming-conventions
150+ # ########################
151+ [* .{cs,csx,cake,vb} ]
152+ # Naming Symbols
153+ # constant_fields - Define constant fields
154+ dotnet_naming_symbols.constant_fields.applicable_kinds = field
155+ dotnet_naming_symbols.constant_fields.required_modifiers = const
156+ # non_private_readonly_fields - Define public, internal and protected readonly fields
157+ dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
158+ dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
159+ dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
160+ # static_readonly_fields - Define static and readonly fields
161+ dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
162+ dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
163+ # private_readonly_fields - Define private readonly fields
164+ dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
165+ dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
166+ dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
167+ # public_internal_fields - Define public and internal fields
168+ dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
169+ dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
170+ # private_protected_fields - Define private and protected fields
171+ dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
172+ dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
173+ # public_symbols - Define any public symbol
174+ dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
175+ dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
176+ # parameters - Defines any parameter
177+ dotnet_naming_symbols.parameters.applicable_kinds = parameter
178+ # non_interface_types - Defines class, struct, enum and delegate types
179+ dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
180+ # interface_types - Defines interfaces
181+ dotnet_naming_symbols.interface_types.applicable_kinds = interface
182+ # Naming Styles
183+ # camel_case - Define the camelCase style
184+ dotnet_naming_style.camel_case.capitalization = camel_case
185+ # pascal_case - Define the Pascal_case style
186+ dotnet_naming_style.pascal_case.capitalization = pascal_case
187+ # first_upper - The first character must start with an upper-case character
188+ dotnet_naming_style.first_upper.capitalization = first_word_upper
189+ # prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'
190+ dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
191+ dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
192+ # Naming Rules
193+ # Constant fields must be PascalCase
194+ dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
195+ dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
196+ dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
197+ # Public, internal and protected readonly fields must be PascalCase
198+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
199+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
200+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case
201+ # Static readonly fields must be PascalCase
202+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
203+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
204+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
205+ # Private readonly fields must be camelCase
206+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
207+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
208+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
209+ # Public and internal fields must be PascalCase
210+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
211+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
212+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
213+ # Private and protected fields must be camelCase
214+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
215+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
216+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
217+ # Public members must be capitalized
218+ dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
219+ dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
220+ dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
221+ # Parameters must be camelCase
222+ dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
223+ dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
224+ dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
225+ # Class, struct, enum and delegates must be PascalCase
226+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
227+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
228+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
229+ # Interfaces must be PascalCase and start with an 'I'
230+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
231+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
232+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i
0 commit comments