我在根目录中有一个.editorconfig文件,适用于我的所有Visual Studio项目。它包含以下规则:
# Const field naming rules
dotnet_naming_symbols.const_fields.applicable_accessibilities = *
dotnet_naming_symbols.const_fields.required_modifiers = const
dotnet_naming_rule.const_fields.symbols = const_fields
dotnet_naming_rule.const_fields.style = all_upper
dotnet_naming_rule.const_fields.severity = warning
# Enum naming rules
dotnet_naming_symbols.enums.applicable_kinds = enum
dotnet_naming_rule.enums.symbols = enums
dotnet_naming_rule.enums.style = pascal_case
dotnet_naming_rule.enums.severity = warning
# Naming Styles
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_style.all_upper.capitalization = all_upper
自上而下读取EditorConfig文件,最后读取最接近的EditorConfig文件。匹配的EditorConfig部分的属性按读取顺序应用,因此较近文件中的属性优先。
根据这个推理,我的enums
规则应优先于我的const_fields
规则。但是,以下枚举声明继续给我一个警告:
public enum AggregationMode {
Simultaneous,
Sequential,
}
说:Warning IDE1006 Naming rule violation: These words cannot contain lower case characters
。
编译器将枚举值视为const吗?我尝试在VS中关闭/重新打开我的代码文件,重新排序.editorconfig的const / enum部分,构建/重建我的解决方案,甚至重新启动VS,但警告不会消失。任何建议将不胜感激!