除了配置严重性外,代码质量规则还有其他配置选项。 例如,可以将每个代码质量分析器配置为仅应用于代码库的特定部分。 通过向指定规则严重性和常规编辑器首选项的同一个 EditorConfig 文件添加键值对,可指定这些选项。
选项作用域
每个优化选项都可以针对所有规则、某个规则类别(例如“安全性”或“设计”)或某个特定规则进行配置。
┮Τ砏玥
若要为所有规则配置选项,请使用下面的语法:
语法
示例
dotnet_code_quality.<OptionName> = <OptionValue>
dotnet_code_quality.api_surface = public
<OptionName> 的值列在选项下。
规则类别
若要为某个规则类别配置选项,请使用下面的语法:
语法
示例
dotnet_code_quality.<RuleCategory>.<OptionName> = OptionValue
dotnet_code_quality.Naming.api_surface = public
下表列出了 <RuleCategory> 的可用值。
Design Documentation Globalization Interoperability
Maintainability Naming Performance SingleFile
Reliability Security Usage
特定规则
若要为某个特定规则配置选项,请使用下面的语法:
语法
示例
dotnet_code_quality.<RuleId>.<OptionName> = <OptionValue>
dotnet_code_quality.CA1040.api_surface = public
选项
本节列出了一部分可用选项。 若要查看可用选项的完整列表,请参阅分析器配置。
api_surface
exclude_async_void_methods
exclude_single_letter_type_parameters
output_kind
required_modifiers
exclude_extension_method_this_parameter
null_check_validation_methods
additional_string_formatting_methods
excluded_type_names_with_derived_types
excluded_symbol_names
disallowed_symbol_names
api_surface
描述
允许的值
默认值
可配置的规则
要分析 API 图面的哪个部分
publicinternal 或 friendprivateall用逗号 (,) 分隔多个值
public
CA1000 CA1003 CA1008 CA1010CA1012 CA1024 CA1027 CA1028CA1030 CA1036 CA1040 CA1041CA1043 CA1044 CA1051 CA1052CA1054 CA1055 CA1056 CA1058CA1063 CA1708 CA1710 CA1711CA1714 CA1715 CA1716 CA1717CA1720 CA1721 CA1725 CA1801CA1802 CA1815 CA1819 CA2217CA2225 CA2226 CA2231 CA2234
exclude_async_void_methods
描述
允许的值
默认值
可配置的规则
是否忽略不返回值的异步方法
truefalse
false
CA2007
备注
早期版本中将此选项命名为 skip_async_void_methods。
exclude_single_letter_type_parameters
描述
允许的值
默认值
可配置的规则
是否从规则中排除单字符的类型参数,例如,Collection<S> 中的 S
truefalse
false
CA1715
备注
早期版本中将此选项命名为 allow_single_letter_type_parameters。
output_kind
描述
允许的值
默认值
可配置的规则
指定应分析项目中生成此程序集类型的代码
OutputKind 枚举的一个或多个字段用逗号 (,) 分隔多个值
所有输出种类
CA2007
required_modifiers
描述
允许的值
默认值
可配置的规则
指定应分析的 API 所需的修饰符
以下允许的修饰符表中的一个或多个值用逗号 (,) 分隔多个值
取决于每个规则
CA1802
允许的修饰符
总结
none
无修饰符要求
static 或 Shared
必须声明为 static(在 Visual Basic 中为 Shared)
const
必须声明为 const
readonly
必须声明为 readonly
abstract
必须声明为 abstract
virtual
必须声明为 virtual
override
必须声明为 override
sealed
必须声明为 sealed
extern
必须声明为 extern
async
必须声明为 async
exclude_extension_method_this_parameter
描述
允许的值
默认值
可配置的规则
是否跳过对扩展方法的 this 参数的分析
truefalse
false
CA1062
null_check_validation_methods
描述
允许的值
默认值
可配置的规则
null 检查验证方法的名称,这些方法用于确定传递给方法的参数不是 null
允许的方法名称格式(以 | 分隔): - 仅方法名称(包括具有相应名称的所有方法,不考虑包含的类型或命名空间) - 完全限定的名称,使用符号的文档 ID 格式,前缀为 M:(可选)
无
CA1062
additional_string_formatting_methods
描述
允许的值
默认值
可配置的规则
其他字符串格式设置方法的名称
允许的方法名称格式(以 | 分隔): - 仅方法名称(包括具有相应名称的所有方法,不考虑包含的类型或命名空间) - 完全限定的名称,使用符号的文档 ID 格式,前缀为 M:(可选)
无
CA2241
excluded_type_names_with_derived_types
描述
允许的值
默认值
可配置的规则
类型的名称,用于将类型及其所有派生类型从分析范围内排除
允许的符号名称格式(以 | 分隔): - 仅类型名称(包括具有相应名称的所有类型,不考虑包含的类型或命名空间) - 完全限定的名称,使用符号的文档 ID 格式,前缀为 T:(可选)
无
CA1303
excluded_symbol_names
描述
允许的值
默认值
可配置的规则
从分析范围排除的符号的名称
允许的符号名称格式(以 | 分隔): - 仅符号名称(包括具有相应名称的所有符号,不考虑包含的类型或命名空间) - 完全限定的名称,使用符号的文档 ID 格式 每个符号名称都需要带有一个符号类型前缀,例如表示方法的 M: 前缀、表示类型的 T: 前缀,以及表示命名空间的 N: 前缀。 - .ctor 表示构造函数,.cctor 表示静态构造函数
无
CA1062 CA1303 CA2000 CA2100 CA2301 CA2302CA2311 CA2312 CA2321 CA2322 CA2327 CA2328CA2329 CA2330 CA3001 CA3002 CA3003 CA3004CA3005 CA3006 CA3007 CA3008 CA3009 CA3010CA3011 CA3012 CA5361 CA5376 CA5377 CA5378CA5380 CA5381 CA5382 CA5383 CA5384 CA5387CA5388 CA5389 CA5390
disallowed_symbol_names
描述
允许的值
默认值
可配置的规则
不允许出现在分析上下文中的符号的名称
允许的符号名称格式(以 | 分隔): - 仅符号名称(包括具有相应名称的所有符号,不考虑包含的类型或命名空间) - 完全限定的名称,使用符号的文档 ID 格式 每个符号名称都需要带有一个符号类型前缀,例如表示方法的 M: 前缀、表示类型的 T: 前缀,以及表示命名空间的 N: 前缀。 - .ctor 表示构造函数,.cctor 表示静态构造函数
无
CA1031
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系外文翻译,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。