@@ -35,16 +35,80 @@ indent_size = 2
3535# Sort using and Import directives with System.* appearing first
3636dotnet_sort_system_directives_first = true
3737
38+ # Style rules
3839# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules?view=vs-2017
39- dotnet_naming_rule.private_members_with_underscore.symbols = private_fields
40- dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore
41- dotnet_naming_rule.private_members_with_underscore.severity = suggestion
40+
41+ # Constants always pascal case
42+ dotnet_naming_rule.constants_should_be_pascal_case.symbols = consts
43+ dotnet_naming_rule.constants_should_be_pascal_case.style = consts
44+ dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion
45+
46+ dotnet_naming_symbols.consts.applicable_kinds = field
47+ dotnet_naming_symbols.consts.applicable_accessibilities = *
48+ dotnet_naming_symbols.consts.required_modifiers = const
49+
50+ dotnet_naming_style.consts.capitalization = pascal_case
51+
52+ # Non-public static fields always pascal case
53+ dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.symbols = non_public_static_fields
54+ dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.style = non_public_static_fields
55+ dotnet_naming_rule.non_public_static_fields_should_be_pascal_case.severity = suggestion
56+
57+ dotnet_naming_symbols.non_public_static_fields.applicable_kinds = field
58+ dotnet_naming_symbols.non_public_static_fields.applicable_accessibilities = private,protected,internal,protected_internal,private_protected
59+ dotnet_naming_symbols.non_public_static_fields.required_modifiers = static
60+
61+ dotnet_naming_style.non_public_static_fields.capitalization = pascal_case
62+
63+ # Non-private readonly fields are pascal case
64+ dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = suggestion
65+ dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields
66+ dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_fields
67+
68+ dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
69+ dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public,protected,internal,protected_internal,private_protected
70+ dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
71+
72+ dotnet_naming_style.non_private_readonly_fields.capitalization = pascal_case
73+
74+ # Private instance fields are camel case prefixed underscore
75+ dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.symbols = private_fields
76+ dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.style = private_fields
77+ dotnet_naming_rule.private_fields_should_be_camelcase_prefix_underscore.severity = suggestion
4278
4379dotnet_naming_symbols.private_fields.applicable_kinds = field
4480dotnet_naming_symbols.private_fields.applicable_accessibilities = private
4581
46- dotnet_naming_style.prefix_underscore.capitalization = camel_case
47- dotnet_naming_style.prefix_underscore.required_prefix = _
82+ dotnet_naming_style.private_fields.capitalization = camel_case
83+ dotnet_naming_style.private_fields.required_prefix = _
84+
85+ # Locals and parameters are camel case
86+ dotnet_naming_rule.locals.severity = suggestion
87+ dotnet_naming_rule.locals.symbols = locals
88+ dotnet_naming_rule.locals.style = locals
89+
90+ dotnet_naming_symbols.locals.applicable_kinds = parameter, local
91+
92+ dotnet_naming_style.locals.capitalization = camel_case
93+
94+ # Local functions are pascal case
95+ dotnet_naming_rule.local_functions.severity = suggestion
96+ dotnet_naming_rule.local_functions.symbols = local_functions
97+ dotnet_naming_rule.local_functions.style = local_functions
98+
99+ dotnet_naming_symbols.local_functions.applicable_kinds = local_function
100+
101+ dotnet_naming_style.local_functions.capitalization = pascal_case
102+
103+ # Public members always pascal case
104+ dotnet_naming_rule.public_members_should_be_pascal_case.symbols = public_members
105+ dotnet_naming_rule.public_members_should_be_pascal_case.style = public_members
106+ dotnet_naming_rule.public_members_should_be_pascal_case.severity = suggestion
107+
108+ dotnet_naming_symbols.public_members.applicable_kinds = property,method,field,event,delegate
109+ dotnet_naming_symbols.public_members.applicable_accessibilities = public
110+
111+ dotnet_naming_style.public_members.capitalization = pascal_case
48112
49113dotnet_style_qualification_for_field = false :error
50114dotnet_style_qualification_for_property = false :error
0 commit comments