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