Visual Studio - 代码清理不应用命名首选项

Dev*_*Guy 6 c# code-cleanup visual-studio editorconfig

我有一个.editorconfig文件,其中包含我的命名首选项。当我运行代码清理时,它会自动格式化除命名之外的所有其他首选项。当我将鼠标悬停在违反命名首选项的变量上时,它会告诉我它违反了哪一个,我可以右键单击将其更改为正确的格式,但是当像我的其他首选项一样运行代码清理时,这不会自动发生。

我是否缺少 VS 设置以.editorconfig在运行代码清理时自动应用命名首选项?

偏好通知示例:

在此输入图像描述

编辑器配置命名首选项:

# Naming rules

dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.severity = warning
dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.symbols = private_or_internal_field
dotnet_naming_rule.private_or_internal_field_should_be_underscore_prefixed_camel_case.style = underscore_prefixed_camel_case


# Symbol specifications

dotnet_naming_symbols.class.applicable_kinds = class
dotnet_naming_symbols.class.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.class.required_modifiers = 

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers = 

dotnet_naming_symbols.method.applicable_kinds = method
dotnet_naming_symbols.method.applicable_accessibilities = *
dotnet_naming_symbols.method.required_modifiers = 

dotnet_naming_symbols.property.applicable_kinds = property
dotnet_naming_symbols.property.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.property.required_modifiers = 

dotnet_naming_symbols.public_or_protected_field.applicable_kinds = field
dotnet_naming_symbols.public_or_protected_field.applicable_accessibilities = public, protected
dotnet_naming_symbols.public_or_protected_field.required_modifiers = 

dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected
dotnet_naming_symbols.private_or_internal_field.required_modifiers = 

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers = 

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers = 

dotnet_naming_symbols.local_method_variable.applicable_kinds = field, parameter
dotnet_naming_symbols.local_method_variable.applicable_accessibilities = local
dotnet_naming_symbols.local_method_variable.required_modifiers = 

dotnet_naming_symbols.private_const_variable.applicable_kinds = field
dotnet_naming_symbols.private_const_variable.applicable_accessibilities = private
dotnet_naming_symbols.private_const_variable.required_modifiers = const

dotnet_naming_symbols.local_const_variable.applicable_kinds = field
dotnet_naming_symbols.local_const_variable.applicable_accessibilities = local
dotnet_naming_symbols.local_const_variable.required_modifiers = const

# Naming styles

dotnet_naming_style.pascal_case.required_prefix = 
dotnet_naming_style.pascal_case.required_suffix = 
dotnet_naming_style.pascal_case.word_separator = 
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix = 
dotnet_naming_style.begins_with_i.word_separator = 
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.underscore_prefixed_camel_case.required_prefix = _
dotnet_naming_style.underscore_prefixed_camel_case.required_suffix = 
dotnet_naming_style.underscore_prefixed_camel_case.word_separator = 
dotnet_naming_style.underscore_prefixed_camel_case.capitalization = camel_case
Run Code Online (Sandbox Code Playgroud)

pfx*_*pfx 2

目前,可以通过代码清理运行的修复程序仅限于一组预定义的修复程序,其中不包括用于处理这种IDE1006情况的修复程序。

在此输入图像描述

GitHub上有一个关于对此进行更多控制的悬而未决的问题。

来自 Visual Studio 团队的产品经理 Kendra Havens:

目前,代码清理配置文件中包含的修复程序是由产品团队根据具体情况添加的。只有这样它们才能被用户收录。由于所有修复程序(包括第 3 方修复程序)都可以在 EditorConfig 中指定,因此能够在代码清理配置文件中包含其中任何一个都是很自然的。