繁体   English   中英

editorConfig 命名约定不起作用 c# Visual Studio 2019 16.4.2

[英]editorConfig Naming Convention not working c# visual studio 2019 16.4.2

我正在尝试在解决方案级别使用 .editorconfig 为其中的两个 C# 项目定义命名约定。 我有最新的 Visual Studio,今天刚更新到 16.4.2。 它在意料之外的地方发出警告。 例如,对于类名、属性名、枚举名,它说它应该以小写开头,而根据我在 editorconfig 中的约定,它们应该是 pascal 大小写。 同样,对于类中的私有字段,我定义了以下划线(“_”)字符开头的字段名称,但它也在那里报告错误。

我确信它正在使用我的 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”找不到指定的符号,导致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 = *

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM