語言和不必要的規則

程式代碼樣式語言規則會影響使用 .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

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

Null 檢查喜好設定

C# 樣式規則:

參數喜好設定

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

括號喜好設定

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

模式比對喜好設定

C# 樣式規則:

隱藏喜好設定

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

This.me. 喜好設定

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

var 偏好

C# 樣式規則:

另請參閱