Skip to content

Commit 55dd1ad

Browse files
authored
Configure .NET analyzer and code style settings (#271)
* Configure code style and warnings * Fix analyzer warnings * Remove spaces between parentheses * Change assembly info for visualbasic * Remove explicit initializations with default values * Require local variables to use camelCase * Format private fields in _camelCase style * Update code_style.md
1 parent 701f0f3 commit 55dd1ad

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2357
-3421
lines changed

.editorconfig

Lines changed: 89 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -65,28 +65,33 @@ end_of_line = lf
6565

6666
# .NET Code Style Settings
6767
[*.{cs,csx,cake,vb}]
68+
6869
# "this." and "Me." qualifiers
6970
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#this_and_me
70-
dotnet_style_qualification_for_field = true:warning
71-
dotnet_style_qualification_for_property = true:warning
72-
dotnet_style_qualification_for_method = true:warning
73-
dotnet_style_qualification_for_event = true:warning
71+
dotnet_style_qualification_for_field = false:warning
72+
dotnet_style_qualification_for_property = false:warning
73+
dotnet_style_qualification_for_method = false:warning
74+
dotnet_style_qualification_for_event = false:warning
75+
7476
# Language keywords instead of framework type names for type references
7577
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language_keywords
7678
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
7779
dotnet_style_predefined_type_for_member_access = true:warning
80+
7881
# Modifier preferences
7982
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#normalize_modifiers
8083
dotnet_style_require_accessibility_modifiers = always:warning
8184
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
8285
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
8386
dotnet_style_readonly_field = true:warning
87+
8488
# Parentheses preferences
8589
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#parentheses
8690
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning
8791
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning
8892
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning
8993
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
94+
9095
# Expression-level preferences
9196
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level
9297
dotnet_style_object_initializer = true:warning
@@ -98,18 +103,21 @@ dotnet_style_prefer_auto_properties = true:warning
98103
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
99104
dotnet_style_prefer_conditional_expression_over_assignment = false:suggestion
100105
dotnet_style_prefer_conditional_expression_over_return = false:suggestion
106+
101107
# Null-checking preferences
102108
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking
103109
dotnet_style_coalesce_expression = true:warning
104110
dotnet_style_null_propagation = true:warning
105111

106112
# C# Code Style Settings
107113
[*.{cs,csx,cake}]
114+
108115
# Implicit and explicit types
109116
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#implicit-and-explicit-types
110117
csharp_style_var_for_built_in_types = true:warning
111118
csharp_style_var_when_type_is_apparent = true:warning
112119
csharp_style_var_elsewhere = true:warning
120+
113121
# Expression-bodied members
114122
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_bodied_members
115123
csharp_style_expression_bodied_methods = true:warning
@@ -118,25 +126,31 @@ csharp_style_expression_bodied_operators = true:warning
118126
csharp_style_expression_bodied_properties = true:warning
119127
csharp_style_expression_bodied_indexers = true:warning
120128
csharp_style_expression_bodied_accessors = true:warning
129+
121130
# Pattern matching
122131
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#pattern_matching
123132
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
124133
csharp_style_pattern_matching_over_as_with_null_check = true:warning
134+
125135
# Inlined variable declarations
126136
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#inlined_variable_declarations
127137
csharp_style_inlined_variable_declaration = true:warning
138+
128139
# Expression-level preferences
129140
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level_csharp
130141
csharp_prefer_simple_default_expression = true:warning
131142
csharp_style_deconstructed_variable_declaration = true:warning
132143
csharp_style_pattern_local_over_anonymous_function = true:warning
144+
133145
# "Null" checking preferences
134146
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking_csharp
135147
csharp_style_throw_expression = true:warning
136148
csharp_style_conditional_delegate_call = true:warning
149+
137150
# Code block preferences
138151
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#code_block
139152
csharp_prefer_braces = true:warning
153+
csharp_style_prefer_top_level_statements = false:warning
140154

141155
#############################
142156
# .NET Formatting Conventions
@@ -146,6 +160,7 @@ csharp_prefer_braces = true:warning
146160
# Organize usings
147161
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#usings
148162
dotnet_sort_system_directives_first = true
163+
149164
# C# formatting settings
150165
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-settings
151166
csharp_new_line_before_open_brace = all
@@ -155,31 +170,36 @@ csharp_new_line_before_finally = true
155170
csharp_new_line_before_members_in_object_initializers = true
156171
csharp_new_line_before_members_in_anonymous_types = true
157172
csharp_new_line_between_query_expression_clauses = true
173+
158174
# Indentation options
159175
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#indent
160176
csharp_indent_case_contents = true
161177
csharp_indent_switch_labels = true
162178
csharp_indent_labels = no_change
179+
163180
# Spacing options
164181
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#spacing
165182
csharp_space_after_cast = false
166183
csharp_space_after_keywords_in_control_flow_statements = true
167184
csharp_space_between_method_declaration_parameter_list_parentheses = false
168185
csharp_space_between_method_call_parameter_list_parentheses = false
169-
csharp_space_between_parentheses = expressions
186+
csharp_space_between_parentheses = false
170187
csharp_space_before_colon_in_inheritance_clause = true
171188
csharp_space_after_colon_in_inheritance_clause = true
172189
csharp_space_around_binary_operators = before_and_after
173190
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
174191
csharp_space_between_method_call_name_and_opening_parenthesis = false
175192
csharp_space_between_method_call_empty_parameter_list_parentheses = false
193+
176194
# Wrapping options
177195
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#wrapping
178196
csharp_preserve_single_line_statements = false
179197
csharp_preserve_single_line_blocks = true
198+
180199
# More Indentation options (Undocumented)
181200
csharp_indent_block_contents = true
182201
csharp_indent_braces = false
202+
183203
# Spacing Options (Undocumented)
184204
csharp_space_after_comma = true
185205
csharp_space_after_dot = false
@@ -199,86 +219,135 @@ csharp_space_between_square_brackets = false
199219
#########################
200220

201221
[*.{cs,csx,cake,vb}]
222+
202223
# Naming Symbols
224+
203225
# constant_fields - Define constant fields
204226
dotnet_naming_symbols.constant_fields.applicable_kinds = field
205227
dotnet_naming_symbols.constant_fields.required_modifiers = const
228+
206229
# non_private_readonly_fields - Define public, internal and protected readonly fields
207230
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
208231
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
209232
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
233+
210234
# static_readonly_fields - Define static and readonly fields
211235
dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
212236
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
237+
213238
# private_readonly_fields - Define private readonly fields
214239
dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
215240
dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
216241
dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
242+
217243
# public_internal_fields - Define public and internal fields
218244
dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
219245
dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
220-
# private_protected_fields - Define private and protected fields
221-
dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
222-
dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
246+
247+
# protected_fields - Define protected fields
248+
dotnet_naming_symbols.protected_fields.applicable_accessibilities = protected
249+
dotnet_naming_symbols.protected_fields.applicable_kinds = field
250+
251+
# private_fields - Define private fields
252+
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
253+
dotnet_naming_symbols.private_fields.applicable_kinds = field
254+
223255
# public_symbols - Define any public symbol
224256
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
225257
dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
258+
226259
# parameters - Defines any parameter
227260
dotnet_naming_symbols.parameters.applicable_kinds = parameter
261+
228262
# non_interface_types - Defines class, struct, enum and delegate types
229263
dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
264+
230265
# interface_types - Defines interfaces
231266
dotnet_naming_symbols.interface_types.applicable_kinds = interface
232267

268+
# local_variables - Defines local_variables
269+
dotnet_naming_symbols.local_variables.applicable_kinds = local
270+
233271
# Naming Styles
272+
234273
# camel_case - Define the camelCase style
235274
dotnet_naming_style.camel_case.capitalization = camel_case
275+
276+
# underscored_camel_case - Define the camelCase style with an underscore prefix
277+
dotnet_naming_style.underscored_camel_case.capitalization = camel_case
278+
dotnet_naming_style.underscored_camel_case.required_prefix = _
279+
236280
# pascal_case - Define the Pascal_case style
237281
dotnet_naming_style.pascal_case.capitalization = pascal_case
282+
238283
# first_upper - The first character must start with an upper-case character
239284
dotnet_naming_style.first_upper.capitalization = first_word_upper
285+
240286
# prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'
241287
dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
242288
dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
243289

244290
# Naming Rules
291+
245292
# Constant fields must be PascalCase
246293
dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
247294
dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
248295
dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
296+
249297
# Public, internal and protected readonly fields must be PascalCase
250298
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
251299
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
252300
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case
253-
# Static readonly fields must be PascalCase
254-
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
255-
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
256-
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
257-
# Private readonly fields must be camelCase
258-
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
259-
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
260-
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
301+
261302
# Public and internal fields must be PascalCase
262303
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
263304
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
264305
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
265-
# Private and protected fields must be camelCase
266-
dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
267-
dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
268-
dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
306+
307+
# Protected fields must be camelCase
308+
dotnet_naming_rule.protected_fields_must_be_camel_case.severity = warning
309+
dotnet_naming_rule.protected_fields_must_be_camel_case.symbols = protected_fields
310+
dotnet_naming_rule.protected_fields_must_be_camel_case.style = camel_case
311+
312+
# Private fields must be _camelCase
313+
dotnet_naming_rule.private_fields_must_be_underscored_camel_case.severity = warning
314+
dotnet_naming_rule.private_fields_must_be_underscored_camel_case.symbols = private_fields
315+
dotnet_naming_rule.private_fields_must_be_underscored_camel_case.style = underscored_camel_case
316+
269317
# Public members must be capitalized
270318
dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
271319
dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
272320
dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
321+
273322
# Parameters must be camelCase
274323
dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
275324
dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
276325
dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
326+
277327
# Class, struct, enum and delegates must be PascalCase
278328
dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
279329
dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
280330
dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
331+
281332
# Interfaces must be PascalCase and start with an 'I'
282333
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
283334
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
284335
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i
336+
337+
# Local variables must be camelCase
338+
dotnet_naming_rule.local_variables_must_be_camel_case.severity = warning
339+
dotnet_naming_rule.local_variables_must_be_camel_case.symbols = local_variables
340+
dotnet_naming_rule.local_variables_must_be_camel_case.style = camel_case
341+
342+
####################
343+
# Configure severity
344+
####################
345+
346+
# IDE0130: Namespace does not match folder structure
347+
dotnet_diagnostic.IDE0130.severity = suggestion
348+
349+
# IDE0060: Remove unused parameter
350+
dotnet_diagnostic.IDE0060.severity = suggestion
351+
352+
# CA1805: Do not initialize unnecessarily
353+
dotnet_diagnostic.CA1805.severity = warning

SFML.CodeStyle.props

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<!-- This file contains code style configurations for projects. -->
4+
5+
<PropertyGroup>
6+
<EnableNETAnalyzers>true</EnableNETAnalyzers>
7+
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
8+
<AnalysisModeUsage>all</AnalysisModeUsage>
9+
<AnalysisModeStyle>all</AnalysisModeStyle>
10+
<AnalysisModeNaming>all</AnalysisModeNaming>
11+
</PropertyGroup>
12+
13+
</Project>

SFML.Module.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<!-- This file contains the data shared by all SFML Modules. -->
44

55
<Import Project="SFML.NuGet.props" />
6+
<Import Project="SFML.CodeStyle.props" />
67

78
<PropertyGroup>
89
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

SFML.sln

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.26124.0
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.11.35208.52
55
MinimumVisualStudioVersion = 15.0.26124.0
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SFML.Audio", "src\SFML.Audio\SFML.Audio.csproj", "{A1E4E9AA-7468-4FCF-8091-A9A96E818E50}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.Audio", "src\SFML.Audio\SFML.Audio.csproj", "{A1E4E9AA-7468-4FCF-8091-A9A96E818E50}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SFML.Graphics", "src\SFML.Graphics\SFML.Graphics.csproj", "{0C118BA2-904B-4AB1-ADC6-5C22DEFCEFA9}"
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.Graphics", "src\SFML.Graphics\SFML.Graphics.csproj", "{0C118BA2-904B-4AB1-ADC6-5C22DEFCEFA9}"
99
EndProject
10-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SFML.Net", "src\SFML.Net\SFML.Net.csproj", "{E5467355-AB84-41E9-A80D-3044A45904B0}"
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.Net", "src\SFML.Net\SFML.Net.csproj", "{E5467355-AB84-41E9-A80D-3044A45904B0}"
1111
EndProject
12-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SFML.System", "src\SFML.System\SFML.System.csproj", "{FCD90AB3-EAF7-429A-876A-4DB80D6CC6D8}"
12+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.System", "src\SFML.System\SFML.System.csproj", "{FCD90AB3-EAF7-429A-876A-4DB80D6CC6D8}"
1313
EndProject
14-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SFML.Window", "src\SFML.Window\SFML.Window.csproj", "{88DD6B5D-3013-4737-A77C-EC2563FCED38}"
14+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.Window", "src\SFML.Window\SFML.Window.csproj", "{88DD6B5D-3013-4737-A77C-EC2563FCED38}"
15+
EndProject
16+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4BBA7B74-E003-4D9B-826A-43BD6BA48111}"
17+
ProjectSection(SolutionItems) = preProject
18+
.editorconfig = .editorconfig
19+
EndProjectSection
1520
EndProject
1621
Global
1722
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -22,9 +27,6 @@ Global
2227
Release|x64 = Release|x64
2328
Release|x86 = Release|x86
2429
EndGlobalSection
25-
GlobalSection(SolutionProperties) = preSolution
26-
HideSolutionNode = FALSE
27-
EndGlobalSection
2830
GlobalSection(ProjectConfigurationPlatforms) = postSolution
2931
{A1E4E9AA-7468-4FCF-8091-A9A96E818E50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3032
{A1E4E9AA-7468-4FCF-8091-A9A96E818E50}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -87,4 +89,10 @@ Global
8789
{88DD6B5D-3013-4737-A77C-EC2563FCED38}.Release|x86.ActiveCfg = Release|x86
8890
{88DD6B5D-3013-4737-A77C-EC2563FCED38}.Release|x86.Build.0 = Release|x86
8991
EndGlobalSection
92+
GlobalSection(SolutionProperties) = preSolution
93+
HideSolutionNode = FALSE
94+
EndGlobalSection
95+
GlobalSection(ExtensibilityGlobals) = postSolution
96+
SolutionGuid = {384AFDD8-7EEF-462A-B496-B5F71D0EEF1D}
97+
EndGlobalSection
9098
EndGlobal

code_style.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Code style
22

3-
## VS Code references
3+
Visual Studio and VS Code use the rules defined in [.editorconfig](./.editorconfig) for code style and formatting.
44

5-
VS Code uses Omnisharp.json instead `.editorconfig` for setting up formatting style. References to setup can be found [here](https://github.com/OmniSharp/omnisharp-roslyn/wiki/Configuration-Options).
5+
For VS Code, you may need to install [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) and [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) for the configuration to function correctly.

examples/Examples.sln

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SFML.Window", "..\src\SFML.
2929
EndProject
3030
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netcore", "netcore\netcore.csproj", "{93B8425A-AC40-4486-96AF-20027B738C09}"
3131
EndProject
32+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A64BFAB3-DD36-4ABE-AABB-8A594327CCDD}"
33+
ProjectSection(SolutionItems) = preProject
34+
..\.editorconfig = ..\.editorconfig
35+
EndProjectSection
36+
EndProject
3237
Global
3338
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3439
Debug|Any CPU = Debug|Any CPU

0 commit comments

Comments
 (0)