1
+ # http://EditorConfig.org
2
+
3
+ # This file is the top-most EditorConfig file
4
+ root = true
5
+
6
+ # All Files
7
+ [* ]
8
+ charset = utf-8
9
+ end_of_line = crlf
10
+ indent_style = space
11
+ indent_size = 4
12
+ insert_final_newline = false
13
+ trim_trailing_whitespace = true
14
+
15
+ # Solution Files
16
+ [* .sln ]
17
+ indent_style = tab
18
+
19
+ # XML Project Files
20
+ [* .{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj} ]
21
+ indent_size = 2
22
+
23
+ # Configuration Files
24
+ [* .{json,xml,yml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct} ]
25
+ indent_size = 2
26
+
27
+ # Markdown Files
28
+ [* .md ]
29
+ trim_trailing_whitespace = false
30
+
31
+ # Web Files
32
+ [* .{htm,html,js,ts,css,scss,less} ]
33
+ indent_size = 2
34
+ insert_final_newline = true
35
+
36
+ # Bash Files
37
+ [* .sh ]
38
+ end_of_line = lf
39
+
40
+ # Dotnet Code Style Settings
41
+ # See https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
42
+ # See http://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
43
+ [* .{cs,csx,cake,vb} ]
44
+ dotnet_sort_system_directives_first = true :warning
45
+ dotnet_style_coalesce_expression = true :warning
46
+ dotnet_style_collection_initializer = true :warning
47
+ dotnet_style_explicit_tuple_names = true :warning
48
+ dotnet_style_null_propagation = true :warning
49
+ dotnet_style_object_initializer = true :warning
50
+ dotnet_style_predefined_type_for_locals_parameters_members = true :warning
51
+ dotnet_style_predefined_type_for_member_access = true :warning
52
+ dotnet_style_qualification_for_event = true :warning
53
+ dotnet_style_qualification_for_field = true :warning
54
+ dotnet_style_qualification_for_method = true :warning
55
+ dotnet_style_qualification_for_property = true :warning
56
+
57
+ # Naming Symbols
58
+ # constant_fields - Define constant fields
59
+ dotnet_naming_symbols.constant_fields.applicable_kinds = field
60
+ dotnet_naming_symbols.constant_fields.required_modifiers = const
61
+ # non_private_readonly_fields - Define public, internal and protected readonly fields
62
+ dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
63
+ dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
64
+ dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
65
+ # static_readonly_fields - Define static and readonly fields
66
+ dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
67
+ dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
68
+ # private_readonly_fields - Define private readonly fields
69
+ dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
70
+ dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
71
+ dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
72
+ # public_internal_fields - Define public and internal fields
73
+ dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
74
+ dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
75
+ # private_protected_fields - Define private and protected fields
76
+ dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
77
+ dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
78
+ # public_symbols - Define any public symbol
79
+ dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
80
+ dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
81
+ # parameters - Defines any parameter
82
+ dotnet_naming_symbols.parameters.applicable_kinds = parameter
83
+ # non_interface_types - Defines class, struct, enum and delegate types
84
+ dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
85
+ # interface_types - Defines interfaces
86
+ dotnet_naming_symbols.interface_types.applicable_kinds = interface
87
+
88
+ # Naming Styles
89
+ # camel_case - Define the camelCase style
90
+ dotnet_naming_style.camel_case.capitalization = camel_case
91
+ # pascal_case - Define the Pascal_case style
92
+ dotnet_naming_style.pascal_case.capitalization = pascal_case
93
+ # first_upper - The first character must start with an upper-case character
94
+ dotnet_naming_style.first_upper.capitalization = first_word_upper
95
+ # prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'
96
+ dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
97
+ dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
98
+
99
+ # Naming Rules
100
+ # Constant fields must be PascalCase
101
+ dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
102
+ dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
103
+ dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
104
+ # Public, internal and protected readonly fields must be PascalCase
105
+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
106
+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
107
+ dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case
108
+ # Static readonly fields must be PascalCase
109
+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
110
+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
111
+ dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
112
+ # Private readonly fields must be camelCase
113
+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
114
+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
115
+ dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
116
+ # Public and internal fields must be PascalCase
117
+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
118
+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
119
+ dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
120
+ # Private and protected fields must be camelCase
121
+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
122
+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
123
+ dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
124
+ # Public members must be capitalized
125
+ dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
126
+ dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
127
+ dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
128
+ # Parameters must be camelCase
129
+ dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
130
+ dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
131
+ dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
132
+ # Class, struct, enum and delegates must be PascalCase
133
+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
134
+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
135
+ dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
136
+ # Interfaces must be PascalCase and start with an 'I'
137
+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
138
+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
139
+ dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i
140
+
141
+ # C# Code Style Settings
142
+ # See https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
143
+ # See http://kent-boogaart.com/blog/editorconfig-reference-for-c-developers
144
+ [* .cs,csx,cake ]
145
+ # Indentation Options
146
+ csharp_indent_block_contents = true :warning
147
+ csharp_indent_braces = false :warning
148
+ csharp_indent_case_contents = true :warning
149
+ csharp_indent_labels = no_change:warning
150
+ csharp_indent_switch_labels = true :warning
151
+ # Style Options
152
+ csharp_style_conditional_delegate_call = true :warning
153
+ csharp_style_expression_bodied_accessors = true :warning
154
+ csharp_style_expression_bodied_constructors = true :warning
155
+ csharp_style_expression_bodied_indexers = true :warning
156
+ csharp_style_expression_bodied_methods = true :warning
157
+ csharp_style_expression_bodied_operators = true :warning
158
+ csharp_style_expression_bodied_properties = true :warning
159
+ csharp_style_inlined_variable_declaration = true :warning
160
+ csharp_style_pattern_matching_over_as_with_null_check = true :warning
161
+ csharp_style_pattern_matching_over_is_with_cast_check = true :warning
162
+ csharp_style_throw_expression = true :warning
163
+ csharp_style_var_elsewhere = true :warning
164
+ csharp_style_var_for_built_in_types = true :warning
165
+ csharp_style_var_when_type_is_apparent = true :warning
166
+ # New Line Options
167
+ csharp_new_line_before_catch = true :warning
168
+ csharp_new_line_before_else = true :warning
169
+ csharp_new_line_before_finally = true :warning
170
+ csharp_new_line_before_members_in_anonymous_types = true :warning
171
+ csharp_new_line_before_members_in_object_initializers = true :warning
172
+ # BUG: Warning level cannot be set https://github.com/dotnet/roslyn/issues/18010
173
+ csharp_new_line_before_open_brace = all
174
+ csharp_new_line_between_query_expression_clauses = true :warning
175
+ # Spacing Options
176
+ csharp_space_after_cast = false :warning
177
+ csharp_space_after_colon_in_inheritance_clause = true :warning
178
+ csharp_space_after_comma = true :warning
179
+ csharp_space_after_dot = false :warning
180
+ csharp_space_after_keywords_in_control_flow_statements = true :warning
181
+ csharp_space_after_semicolon_in_for_statement = true :warning
182
+ csharp_space_around_binary_operators = before_and_after:warning
183
+ csharp_space_around_declaration_statements = do_not_ignore:warning
184
+ csharp_space_before_colon_in_inheritance_clause = true :warning
185
+ csharp_space_before_comma = false :warning
186
+ csharp_space_before_dot = false :warning
187
+ csharp_space_before_semicolon_in_for_statement = false :warning
188
+ csharp_space_before_open_square_brackets = false :warning
189
+ csharp_space_between_empty_square_brackets = false :warning
190
+ csharp_space_between_method_declaration_name_and_open_parenthesis = false :warning
191
+ csharp_space_between_method_declaration_parameter_list_parentheses = false :warning
192
+ csharp_space_between_method_declaration_empty_parameter_list_parentheses = false :warning
193
+ csharp_space_between_method_call_name_and_opening_parenthesis = false :warning
194
+ csharp_space_between_method_call_parameter_list_parentheses = false :warning
195
+ csharp_space_between_method_call_empty_parameter_list_parentheses = false :warning
196
+ csharp_space_between_parentheses = expressions:warning
197
+ csharp_space_between_square_brackets = false :warning
198
+ # Wrapping Options
199
+ csharp_preserve_single_line_blocks = true :warning
200
+ csharp_preserve_single_line_statements = false :warning
0 commit comments