c# - editorConfig 命名约定不起作用 c# visual studio 2019 16.4.2
问题描述
我正在尝试在解决方案级别使用 .editorconfig 来定义其中两个 C# 项目的命名约定。我有最新的 Visual Studio,今天刚刚更新到 16.4.2。它在意料之外的地方发出警告。例如,对于类名、属性名、枚举名,它说它应该以小写开头,而根据我在 editorconfig 中的约定,它们应该以帕斯卡大小写。同样,对于类中的私有字段,我已将字段名称定义为以下划线(“_”)字符开头,但它也在那里报告错误。
我确信它正在使用我的 editorconfig 文件,因为如果我故意更改某些部分只是为了查看是否有任何影响,我会看到消息中的更改。然而,结果并不如预期。
还有更多的设置需要做吗?我的 editorconfig 输入是否有错误?
这是我的editorconfig文件的相关内容。
# Naming rules definitions
dotnet_naming_rule.interfacesPascalWithI.symbols = interfaces
dotnet_naming_rule.interfacesPascalWithI.style = IP
dotnet_naming_rule.interfacesPascalWithI.severity = suggestion
dotnet_naming_rule.publicMethodsPascal.symbols = pubMethods
dotnet_naming_rule.publicMethodsPascal.style = P
dotnet_naming_rule.publicMethodsPascal.severity = suggestion
dotnet_naming_rule.defaultMethodsCamel.symbols = methods
dotnet_naming_rule.defaultMethodsCamel.style = c
dotnet_naming_rule.defaultMethodsCamel.severity = suggestion
dotnet_naming_rule.staticFieldsPascal.symbols = staticFields
dotnet_naming_rule.staticFieldsPascal.style = c
dotnet_naming_rule.staticFieldsPascal.severity = warning
dotnet_naming_rule.constFieldsPascal.symbols = constFields
dotnet_naming_rule.constFieldsPascal.style = c
dotnet_naming_rule.constFieldsPascal.severity = warning
dotnet_naming_rule.privateFieldsUnderscore.symbols = prvFields
dotnet_naming_rule.privateFieldsUnderscore.style = _c
dotnet_naming_rule.privateFieldsUnderscore.severity = suggestion
dotnet_naming_rule.defaultFieldsCamel.symbols = fields
dotnet_naming_rule.defaultFieldsCamel.style = c
dotnet_naming_rule.defaultFieldsCamel.severity = suggestion
dotnet_naming_rule.defaultPascal.symbols = default
dotnet_naming_rule.defaultPascal.style = P
dotnet_naming_rule.defaultPascal.severity = suggestion
# Style Definitions
dotnet_naming_style.P.capitalization = pascal_case
dotnet_naming_style.IP.capitalization = pascal_case
dotnet_naming_style.IP.required_prefix = I
dotnet_naming_style.c.capitalization = camel_case
dotnet_naming_style._c.capitalization = camel_case
dotnet_naming_style._c.required_prefix = _
# Symbols Definitions
dotnet_naming_symbols.default.applicable_kinds = *
dotnet_naming_symbols.default.applicable_accessibilities = *
dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_symbols.interfaces.applicable_accessibilities = *
dotnet_naming_symbols.pubMethods.applicable_kinds = method
dotnet_naming_symbols.pubMethods..applicable_accessibilities = public
dotnet_naming_symbols.methods.applicable_kinds = method
dotnet_naming_symbols.methods.applicable_accessibilities = *
dotnet_naming_symbols.staticFields.applicable_kinds = field
dotnet_naming_symbols.staticFields.applicable_accessibilities = *
dotnet_naming_symbols.staticFields.required_modifiers = static
dotnet_naming_symbols.constFields.applicable_kinds = field
dotnet_naming_symbols.constFields.applicable_accessibilities = *
dotnet_naming_symbols.constFields.required_modifiers = const
dotnet_naming_symbols.prvFields.applicable_kinds = field
dotnet_naming_symbols.prvFields.applicable_accessibilities = private
dotnet_naming_symbols.fields.applicable_kinds = field
dotnet_naming_symbols.fields.applicable_accessibilities = *
解决方案
我已经测试了你的代码,这个问题也发生在我这边。然后我检查了代码,似乎“dotnet_naming_rule”找不到指定的符号,导致规则适应所有情况。然后我按照你的代码,复制官方代码示例 ,一一重写,就是这样,之后就可以在我这边工作了。
你也可以试试你身边的新代码。
# Naming rules definitions
dotnet_naming_rule.interfacesPascalWithI.symbols = interfaces
dotnet_naming_rule.interfacesPascalWithI.style = _c
dotnet_naming_rule.interfacesPascalWithI.severity = warning
dotnet_naming_rule.publicMethodsPascal.symbols = public_method
dotnet_naming_rule.publicMethodsPascal.style = _c
dotnet_naming_rule.publicMethodsPascal.severity = warning
dotnet_naming_rule.defaultMethodsCamel.symbols = methods
dotnet_naming_rule.defaultMethodsCamel.style = c
dotnet_naming_rule.defaultMethodsCamel.severity = warning
dotnet_naming_rule.staticFieldsPascal.symbols = static_filed
dotnet_naming_rule.staticFieldsPascal.style = c
dotnet_naming_rule.staticFieldsPascal.severity = warning
dotnet_naming_rule.constFieldsPascal.symbols = const_field
dotnet_naming_rule.constFieldsPascal.style = c
dotnet_naming_rule.constFieldsPascal.severity = warning
dotnet_naming_rule.privateFieldsUnderscore.symbols = private_field
dotnet_naming_rule.privateFieldsUnderscore.style = _c
dotnet_naming_rule.privateFieldsUnderscore.severity = warning
dotnet_naming_rule.defaultFieldsCamel.symbols = fields
dotnet_naming_rule.defaultFieldsCamel.style = c
dotnet_naming_rule.defaultFieldsCamel.severity = warning
dotnet_naming_rule.defaultPascal.symbols = default
dotnet_naming_rule.defaultPascal.style = P
dotnet_naming_rule.defaultPascal.severity = warning
# Style Definitions
dotnet_naming_style.P.capitalization = pascal_case
dotnet_naming_style.IP.capitalization = pascal_case
dotnet_naming_style.IP.required_prefix = I
dotnet_naming_style.c.capitalization = camel_case
dotnet_naming_style._c.capitalization = camel_case
dotnet_naming_style._c.required_prefix = _
# Symbols Definitions
dotnet_naming_symbols.default.applicable_kinds = *
dotnet_naming_symbols.default.applicable_accessibilities = *
dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_symbols.interfaces.applicable_accessibilities = *
dotnet_naming_symbols.public_method.applicable_kinds = method
dotnet_naming_symbols.public_method.applicable_accessibilities = public
dotnet_naming_symbols.methods.applicable_kinds = method
dotnet_naming_symbols.methods.applicable_accessibilities = *
dotnet_naming_symbols.static_filed.applicable_kinds = field
dotnet_naming_symbols.static_filed.applicable_accessibilities = *
dotnet_naming_symbols.static_filed.required_modifiers = static
dotnet_naming_symbols.const_field.applicable_kinds = field
dotnet_naming_symbols.const_field.applicable_accessibilities = *
dotnet_naming_symbols.const_field.required_modifiers = const
dotnet_naming_symbols.private_field.applicable_kinds = field
dotnet_naming_symbols.private_field.applicable_accessibilities = private
dotnet_naming_symbols.fields.applicable_kinds = field
dotnet_naming_symbols.fields.applicable_accessibilities = *
推荐阅读
- outlook - Outlook API,从消息 ID 获取多条消息
- php - 如何在 PHP 中检查我的数组是单数组还是多数组(数组内的数组)?
- ios - 通过 Color Swift 过滤图像中的像素
- sql - 我可以使用绑定参数为 SQL 查询添加书签吗?
- jenkins - 仅在提交到 master 时触发 Jenkins Pipeline 作业
- c# - Open XML:对齐缩进的文本
- xpath - 区分缺失标签和空标签
- unity3d - Vungle 中介适配器在 Unity 中不起作用
- javascript - 如何在 Vue 组件中使用依赖项?
- javascript - 如何以相同的方法获取文件名