1- # top-most editorconfig file
1+ # editorconfig.org
2+
3+ # top-most EditorConfig file
24root = true
35
6+ # Default settings:
7+ # A newline ending every file
8+ # Use 4 spaces as indentation
49[* ]
510insert_final_newline = true
611indent_style = space
7- indent_size = 2
8- tab_width = 2
12+ indent_size = 4
913trim_trailing_whitespace = true
14+ end_of_line = lf
15+
16+ [project.json ]
17+ indent_size = 2
1018
11- [ * .cs ]
12- # Recommended max_line_length = 100
19+ # C# files
20+ [ * .{cs,vb} ]
1321
1422# New line preferences
15- csharp_new_line_before_open_brace = none
16- csharp_new_line_before_else = false
17- csharp_new_line_before_catch = false
18- csharp_new_line_before_finally = false
19- csharp_new_line_before_members_in_object_initializers = false
20- csharp_new_line_before_members_in_anonymous_types = false
21- csharp_new_line_between_query_expression_clauses = false
23+ csharp_new_line_before_open_brace = all
24+ csharp_new_line_before_else = true
25+ csharp_new_line_before_catch = true
26+ csharp_new_line_before_finally = true
27+ csharp_new_line_before_members_in_object_initializers = true
28+ csharp_new_line_before_members_in_anonymous_types = true
29+ csharp_new_line_between_query_expression_clauses = true
2230
2331# Indentation preferences
2432csharp_indent_block_contents = true
@@ -31,8 +39,8 @@ csharp_indent_labels = one_less_than_current
3139# Modifier preferences
3240csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
3341
34- # Use of this., avoid except for fields
35- dotnet_style_qualification_for_field = false :none
42+ # avoid this. unless absolutely necessary
43+ dotnet_style_qualification_for_field = false :suggestion
3644dotnet_style_qualification_for_property = false :suggestion
3745dotnet_style_qualification_for_method = false :suggestion
3846dotnet_style_qualification_for_event = false :suggestion
@@ -44,27 +52,43 @@ csharp_style_var_elsewhere = false:suggestion
4452dotnet_style_predefined_type_for_locals_parameters_members = true :suggestion
4553dotnet_style_predefined_type_for_member_access = true :suggestion
4654
47- # Name all constant fields using PascalCase
55+ # name all constant fields using PascalCase
4856dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
49- dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
57+ dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
5058dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
5159dotnet_naming_symbols.constant_fields.applicable_kinds = field
5260dotnet_naming_symbols.constant_fields.required_modifiers = const
5361dotnet_naming_style.pascal_case_style.capitalization = pascal_case
5462
63+ # static fields should have s_ prefix
64+ dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
65+ dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
66+ dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
67+ dotnet_naming_symbols.static_fields.applicable_kinds = field
68+ dotnet_naming_symbols.static_fields.required_modifiers = static
69+ dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
70+ dotnet_naming_style.static_prefix_style.required_prefix = _
71+ dotnet_naming_style.static_prefix_style.capitalization = camel_case
72+
73+ # internal and private fields should be _camelCase
74+ dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
75+ dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
76+ dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
77+ dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
78+ dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
79+ dotnet_naming_style.camel_case_underscore_style.required_prefix = _
80+ dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
81+
5582# Code style defaults
5683csharp_using_directive_placement = outside_namespace:suggestion
5784dotnet_sort_system_directives_first = true
58- csharp_prefer_braces = when_multiline:suggestion
85+ csharp_prefer_braces = true : silent
5986csharp_preserve_single_line_blocks = true :none
6087csharp_preserve_single_line_statements = false :none
6188csharp_prefer_static_local_function = true :suggestion
6289csharp_prefer_simple_using_statement = false :none
6390csharp_style_prefer_switch_expression = true :suggestion
64-
65- # Code quality
6691dotnet_style_readonly_field = true :suggestion
67- dotnet_code_quality_unused_parameters = non_public:suggestion
6892
6993# Expression-level preferences
7094dotnet_style_object_initializer = true :suggestion
@@ -76,19 +100,19 @@ dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggesti
76100dotnet_style_prefer_inferred_tuple_names = true :suggestion
77101dotnet_style_prefer_inferred_anonymous_type_member_names = true :suggestion
78102dotnet_style_prefer_auto_properties = true :suggestion
79- dotnet_style_prefer_conditional_expression_over_assignment = true:refactoring
80- dotnet_style_prefer_conditional_expression_over_return = true:refactoring
103+ dotnet_style_prefer_conditional_expression_over_assignment = true :silent
104+ dotnet_style_prefer_conditional_expression_over_return = true :silent
81105csharp_prefer_simple_default_expression = true :suggestion
82106
83107# Expression-bodied members
84- csharp_style_expression_bodied_methods = true:refactoring
85- csharp_style_expression_bodied_constructors = true:refactoring
86- csharp_style_expression_bodied_operators = true:refactoring
87- csharp_style_expression_bodied_properties = true:refactoring
88- csharp_style_expression_bodied_indexers = true:refactoring
89- csharp_style_expression_bodied_accessors = true:refactoring
90- csharp_style_expression_bodied_lambdas = true:refactoring
91- csharp_style_expression_bodied_local_functions = true:refactoring
108+ csharp_style_expression_bodied_methods = true :silent
109+ csharp_style_expression_bodied_constructors = true :silent
110+ csharp_style_expression_bodied_operators = true :silent
111+ csharp_style_expression_bodied_properties = true :silent
112+ csharp_style_expression_bodied_indexers = true :silent
113+ csharp_style_expression_bodied_accessors = true :silent
114+ csharp_style_expression_bodied_lambdas = true :silent
115+ csharp_style_expression_bodied_local_functions = true :silent
92116
93117# Pattern matching
94118csharp_style_pattern_matching_over_is_with_cast_check = true :suggestion
@@ -130,3 +154,25 @@ csharp_space_between_square_brackets = false
130154
131155# Analyzers
132156dotnet_code_quality.ca1802.api_surface = private, internal
157+
158+ # CS1591: Missing XML comment for publicly visible type or member
159+ dotnet_diagnostic.CS1591.severity = suggestion
160+
161+ # Xml project files
162+ [* .{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj} ]
163+ indent_size = 2
164+
165+ [* .{csproj,vbproj,proj,nativeproj,locproj} ]
166+ charset = utf-8
167+
168+ # Xml files
169+ [* .{xml,stylecop,resx,ruleset} ]
170+ indent_size = 2
171+
172+ # Xml config files
173+ [* .{props,targets,config,nuspec} ]
174+ indent_size = 2
175+
176+ # YAML config files
177+ [* .{yml,yaml} ]
178+ indent_size = 2
0 commit comments