1+ # EditorConfig is awesome: https://EditorConfig.org
2+ # Top-most EditorConfig file
3+ root = true
4+
5+ # All files
6+ [* ]
7+ indent_style = space
8+ end_of_line = crlf
9+ insert_final_newline = true
10+ trim_trailing_whitespace = true
11+ charset = utf-8
12+
13+ # C# files
14+ [* .cs ]
15+ indent_size = 4
16+
17+ # C# naming conventions
18+ dotnet_naming_rule.interface_should_be_prefixed_with_i.severity = warning
19+ dotnet_naming_rule.interface_should_be_prefixed_with_i.symbols = interface
20+ dotnet_naming_rule.interface_should_be_prefixed_with_i.style = prefixed_with_i
21+
22+ dotnet_naming_rule.types_should_be_pascal_case.severity = warning
23+ dotnet_naming_rule.types_should_be_pascal_case.symbols = types
24+ dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
25+
26+ dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning
27+ dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
28+ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
29+
30+ # Symbol specifications
31+ dotnet_naming_symbols.interface.applicable_kinds = interface
32+ dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
33+
34+ dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
35+ dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
36+
37+ dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
38+ dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
39+
40+ # Naming styles
41+ dotnet_naming_style.pascal_case.required_prefix =
42+ dotnet_naming_style.pascal_case.required_suffix =
43+ dotnet_naming_style.pascal_case.word_separator =
44+ dotnet_naming_style.pascal_case.capitalization = pascal_case
45+
46+ dotnet_naming_style.prefixed_with_i.required_prefix = I
47+ dotnet_naming_style.prefixed_with_i.required_suffix =
48+ dotnet_naming_style.prefixed_with_i.word_separator =
49+ dotnet_naming_style.prefixed_with_i.capitalization = pascal_case
50+
51+ # Code style rules
52+ csharp_prefer_braces = true :warning
53+ csharp_prefer_simple_using_statement = true :suggestion
54+ csharp_style_namespace_declarations = file_scoped:warning
55+ csharp_style_prefer_method_group_conversion = true :suggestion
56+ csharp_style_prefer_top_level_statements = true :suggestion
57+ csharp_style_expression_bodied_methods = false :suggestion
58+ csharp_style_expression_bodied_constructors = false :suggestion
59+ csharp_style_expression_bodied_operators = false :suggestion
60+ csharp_style_expression_bodied_properties = true :suggestion
61+ csharp_style_expression_bodied_indexers = true :suggestion
62+ csharp_style_expression_bodied_accessors = true :suggestion
63+
64+ # var preferences
65+ csharp_style_var_for_built_in_types = false :suggestion
66+ csharp_style_var_when_type_is_apparent = true :suggestion
67+ csharp_style_var_elsewhere = false :suggestion
68+
69+ # TypeScript, JavaScript, JSX, TSX files
70+ [* .{ts,tsx,js,jsx} ]
71+ indent_size = 2
72+ quote_type = single
73+
74+ # JSON files
75+ [* .json ]
76+ indent_size = 2
77+
78+ # YAML files
79+ [* .{yml,yaml} ]
80+ indent_size = 2
81+
82+ # Markdown files
83+ [* .md ]
84+ trim_trailing_whitespace = false
85+
86+ # XML project files
87+ [* .{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj} ]
88+ indent_size = 2
89+
90+ # Config files
91+ [* .{props,targets} ]
92+ indent_size = 2
0 commit comments