共用方式為


語言和不必要的規則

程式代碼樣式語言規則會影響使用 .NET 程式設計語言的各種建構方式,例如修飾詞和括號。

此類別也包含規則,這些規則會識別不必要的程式代碼基底部分,而且可以重構或移除。 出現不必要的程式代碼表示下列一或多個問題:

  • 可讀性:不必要地降低可讀性的程序代碼。
  • 可維護性:重構之後不再使用且不必要地維護的程序代碼。
  • 效能:沒有副作用的不必要計算,會產生多餘的效能負擔。
  • 功能:程式碼中的功能問題,使必要的程式碼變得冗餘。 例如, IDE0060 旗標未使用的參數,其中方法不小心忽略輸入參數。

語言規則分為下列類別:

  • .NET 樣式規則:適用於 C# 和 Visual Basic 的規則。 這些規則的選項名稱開頭為 前置詞 dotnet_style_
  • C# 樣式規則:C# 程式代碼特有的規則。 這些規則的選項名稱開頭為 前置詞 csharp_style_
  • Visual Basic 樣式規則:Visual Basic 程式代碼特有的規則。 這些規則的選項名稱開頭為 前置詞 visual_basic_style_

選項格式

許多語言規則都有一或多個相關聯的選項,可自定義慣用的樣式。 例如,使用簡化的 'using' 陳述式 (IDE0063) 有一個相關選項 csharp_prefer_simple_using_statement,允許您定義是偏好使用 using 宣告還是 using 陳述式。 規則會強制執行您在指定層級選擇的選項,例如警告或錯誤。

語言規則的選項可以使用下列格式在組態檔指定:

option_name = value (Visual Studio 2019 及更新版本)

option_name = value:severity

  • 針對每個語言規則,您可以指定一個值,定義是否或何時偏好樣式。 許多規則都接受 true(偏好此樣式)或 false(不喜歡這種樣式)的值。 其他規則接受 值,例如 when_on_single_linenever

  • 嚴重性 (Visual Studio 2019 和更新版本中為選擇性)

    規則的第二個部分會 指定規則的嚴重性層級 。 在 .NET 9 和更新版本中,一律會遵守嚴重性,也就是在開發 IDE 內,以及在 命令行組建期間。 在 .NET 8 和更舊版本中,此嚴重性設定僅在開發 IDE,例如 Visual Studio 中有效,而非在建置期間。

    如果您使用 .NET 8 SDK 或舊版,而且您希望在建置階段遵守嚴重性,則可以使用下列兩種方式之一來執行此動作:

    • <AnalysisLevel><AnalysisLevelStyle> 屬性設定為 9.0 或更高,或設定為 preview
    • 請改用分析器的規則標識碼型嚴重性組態語法來設定嚴重性。 語法採用dotnet_diagnostic.<rule ID>.severity = <severity>的形式,例如dotnet_diagnostic.IDE0040.severity = warning。 如需詳細資訊,請參閱 嚴重性層級

小提示

從 Visual Studio 2019 開始,您可以在發生樣式違規之後,從 [快速動作 ] 燈泡菜單設定程式代碼樣式規則。

規則索引

語言和不必要的程式代碼規則會進一步分類為子類別,例如表達式層級喜好設定、程式代碼區塊喜好設定和修飾詞喜好設定。

using 指令偏好設定

.NET 樣式規則 (C# 和 Visual Basic):

C# 樣式規則:

程式碼區塊偏好設定

C# 樣式規則:

運算式主體成員

C# 樣式規則:

表達式層級喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

C# 樣式規則:

Visual Basic 樣式規則:

欄位喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

語言關鍵詞與架構類型喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

修飾詞喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

C# 樣式規則:

換行喜好設定

  • 允許多個空白行 (IDE2000)
  • 允許相同行的內嵌語句 (IDE2001)
  • 允許連續大括弧之間的空白行(IDE2002)
  • 封鎖後立即允許語句 (IDE2003)
  • 允許在建構函式初始化運算式中,在冒號之後加入空白行 (IDE2004)
  • 在條件表示式中允許在標記後面空白行 (IDE2005)
  • 允許在箭頭函數中的標記後使用空白行(IDE2006)

空值檢查偏好設定

C# 樣式規則:

參數喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

括號喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

模式比對偏好設定

C# 樣式規則:

隱藏喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

This.me. 喜好設定

.NET 樣式規則 (C# 和 Visual Basic):

var 偏好

C# 樣式規則:

另請參閱