程式碼品質規則組態選項

除了設定嚴重性之外,「程式碼品質」規則還有其他組態選項。 例如,每個程式碼品質分析器都可以設定為只套用至程式碼基底的特定部分。 您可以將索引鍵/值組新增至 EditorConfig 檔案來指定這些選項,該檔案也是您指定規則嚴重性和一般編輯器喜好設定的位置。

注意

本文不會詳細說明如何設定規則的嚴重性。 設定規則嚴重性之 .editorconfig 選項的前置詞 (dotnet_diagnostic),與此處所述選項的前置詞 (dotnet_code_quality) 不同。 此外,此處所述的選項僅適用於程式碼品質規則,但嚴重性選項還適用於程式碼樣式規則。 作為快速參考,您可以使用下列選項語法來設定規則的嚴重性:

dotnet_diagnostic.<rule ID>.severity = <severity value>

不過,如需設定規則嚴重性的詳細資訊,請參閱嚴重性等級

選項範圍

每個精簡選項都可以針對所有規則、某個類別的規則 (例如「安全性」或「設計」) 或特定規則進行設定。

所有規則

針對「所有」規則設定選項的語法如下:

語法 範例
dotnet_code_quality.<選項名稱> = <選項值> dotnet_code_quality.api_surface = public

選項底下會列出 <OptionName> 的值。

某個類別的規則

針對某個「類別」的規則設定選項的語法如下:

語法 範例
dotnet_code_quality.<規則類別>.<選項名稱> = 選項值 dotnet_code_quality.Naming.api_surface = public

下表列出 <RuleCategory> 的可用值。

Design
Documentation
Globalization
Interoperability

Maintainability
Naming
Performance
SingleFile

Reliability
Security
Usage

特定規則

針對「特定」規則設定選項的語法如下:

語法 範例
dotnet_code_quality.<規則識別碼>.<選項名稱> = <選項值> dotnet_code_quality.CA1040.api_surface = public

選項。

本節列出一些可用的選項。 若要查看可用選項的完整清單,請參閱分析器組態 (英文)。

api_surface

描述 允許的值 預設值 可設定的規則
要分析的 API 介面部分 public (適用於 publicprotected API)
internalfriend (適用於 internalprivate protected API)
private (適用於 private API)
all (適用於所有 API)

以逗號 (,) 分隔多個值
public CA1000CA1002CA1003CA1005CA1008CA1010CA1012CA1021CA1024CA1027CA1028CA1030CA1036CA1040CA1041CA1043CA1044CA1045CA1046CA1047CA1051CA1052CA1054CA1055CA1056CA1058CA1062CA1063CA1068CA1070CA1700CA1707CA1708CA1710CA1711CA1714CA1715CA1716CA1717CA1720CA1721CA1725CA1801CA1802CA1815CA1819CA1822CA1859CA2208CA2217CA2225CA2226CA2231CA2234

exclude_async_void_methods

描述 允許的值 預設值 可設定的規則
是否忽略未傳回值的非同步方法 true
false
false CA2007

注意

此選項在舊版中的名稱為 skip_async_void_methods

exclude_single_letter_type_parameters

描述 允許的值 預設值 可設定的規則
是否要從規則中排除單一字元型別參數,例如 Collection<S> 中的 S true
false
false CA1715

注意

此選項在舊版中的名稱為 allow_single_letter_type_parameters

output_kind

描述 允許的值 預設值 可設定的規則
指定應分析專案中產生此類型組件的程式碼 OutputKind 列舉的一或多個欄位

以逗號 (,) 分隔多個值
所有輸出種類 CA2007

required_modifiers

描述 允許的值 預設值 可設定的規則
指定 API 中應分析的必要修飾元 以下「允許的修飾元」表格中的一或多個值

以逗號 (,) 分隔多個值
取決於每個規則 CA1802
允許的修飾元 摘要
none 不需要修飾元
staticShared 必須宣告為 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 參數分析 true
false
false CA1062

null_check_validation_methods

描述 允許的值 預設值 可設定的規則
驗證傳遞至方法的引數為非 Null 的 Null 檢查驗證方法名稱 允許的方法名稱格式 (以 | 分隔):
- 僅方法名稱 (包含具有該名稱的所有方法,無論包含類型或命名空間為何)
- 符號文件識別碼格式的完整名稱,可選擇性地在前面加上 M:
CA1062

additional_string_formatting_methods

描述 允許的值 預設值 可設定的規則
其他字串格式方法的名稱 允許的方法名稱格式 (以 | 分隔):
- 僅方法名稱 (包含具有該名稱的所有方法,無論包含類型或命名空間為何)
- 符號文件識別碼格式的完整名稱,可選擇性地在前面加上 M:
CA2241

excluded_type_names_with_derived_types

描述 允許的值 預設值 可設定的規則
要在分析中排除本身類型及其所有衍生類型的類型名稱 允許的符號名稱格式 (以 | 分隔):
- 僅類型名稱 (包含具有該名稱的所有類型,無論包含類型或命名空間為何)
- 符號文件識別碼格式的完整名稱,可選擇性地在前面加上 T:
CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400

excluded_symbol_names

描述 允許的值 預設值 可設定的規則
要在分析中排除的符號名稱 允許的符號名稱格式 (以 | 分隔):
- 僅符號名稱 (包含具有該名稱的所有符號,無論包含類型或命名空間為何)
- 符號文件識別碼格式的完整名稱。 每個符號名稱都需要符號種類前置詞,例如 M: 代表方法、T: 代表類型,而 N: 則代表命名空間。
- .ctor 代表建構函式,而 .cctor 則代表靜態建構函式
CA1001CA1054CA1055CA1056CA1062CA1068CA1303CA1304CA1305CA1508CA2000CA2100CA2301CA2302CA2311CA2312CA2321CA2322CA2327CA2328CA2329CA2330CA3001CA3002CA3003CA3004CA3005CA3006CA3007CA3008CA3009CA3010CA3011CA3012CA5361CA5376CA5377CA5378CA5380CA5381CA5382CA5383CA5384CA5387CA5388CA5389CA5390CA5399CA5400

disallowed_symbol_names

描述 允許的值 預設值 可設定的規則
分析內容中不允許的符號名稱 允許的符號名稱格式 (以 | 分隔):
- 僅符號名稱 (包含具有該名稱的所有符號,無論包含類型或命名空間為何)
- 符號文件識別碼格式的完整名稱。 每個符號名稱都需要符號種類前置詞,例如 M: 代表方法、T: 代表類型,而 N: 則代表命名空間。
- .ctor 代表建構函式,而 .cctor 則代表靜態建構函式
CA1031

exclude_ordefault_methods

描述 允許的值 預設值 可設定的規則
從分析中排除 FirstOrDefaultLastOrDefault 方法。 truefalse false CA1826

ignore_internalsvisibleto

描述 允許的值 預設值 可設定的規則
包括在分析中標示 InternalsVisibleToAttribute 的組件。 truefalse true CA1812CA1852