共用方式為


程式代碼樣式喜好設定

您可以使用 EditorConfig 檔案來定義每個項目的程式代碼樣式設定,或針對您在文字編輯器中 Visual Studio 中編輯的所有程式代碼,[選項] 頁面。 針對 C# 程式代碼,您也可以使用 Code Cleanup (Visual Studio 2019, Visual Studio 2022) 和 Format Document (Visual Studio 2017) 命令來設定 Visual Studio 來套用這些程式碼樣式喜好設定。

EditorConfig 檔案中的程式代碼樣式

您可以藉由將 EditorConfig 檔案新增至專案,來指定 .NET 程式代碼樣式設定。 EditorConfig 檔案與程式代碼基底相關聯,而不是 Visual Studio 個人化帳戶。 EditorConfig 檔案中的設定優先於 [選項] 對話框中所指定的程式代碼樣式。 當您想要針對存放庫或專案的所有參與者強制執行編碼樣式時,請使用 EditorConfig 檔案。

您可以手動填入 EditorConfig 檔案,或根據您在 Visual Studio [選項] 對話框中所選擇的程式代碼樣式設定自動產生檔案。 此選項頁面位於 Tools>Options>Text Editor> [C#Basic] >Code Style>General。 單擊 [從設定 產生 .editorconfig 檔案],根據此 [選項] 頁面上的設定,自動產生 .editorconfig 檔案的編碼樣式。

[從設定產生editorconfig 檔案] 的螢幕快照。

您可以手動填入 EditorConfig 檔案,或根據您在 Visual Studio [選項] 對話框中所選擇的程式代碼樣式設定自動產生檔案。 此選項頁面位於 Tools>Options>Text Editor> [C#Visual Basic] >Code Style>General。 單擊 [從設定 產生 .editorconfig 檔案],根據此 [選項] 頁面上的設定,自動產生 .editorconfig 檔案的編碼樣式。

[從設定產生editorconfig 檔案] 的螢幕快照。

[選項] 對話框中的程式碼樣式

您可以從 [工具] 功能表開啟 [選項] 對話框,來設定所有 C# 和 Visual Basic 專案的程式代碼樣式喜好設定。 在 [選項] 對話框中,選取 [文本編輯器]> [C#Visual Basic] >程式代碼樣式>一般

您可以從 [工具] 功能表開啟 [選項] 對話框,來設定所有 C# 和 Visual Basic 專案的程式代碼樣式喜好設定。 在 [選項] 對話框中,選取 [文本編輯器> [C#Basic] >[程式代碼樣式]>[一般]。

清單中每個項目都會在選取時顯示喜好設定的預覽:

程式代碼樣式選項的螢幕快照。

程式代碼樣式選項的螢幕快照。

在此視窗中設定的選項適用於您的 Visual Studio 個人化帳戶,且不會與特定專案或程式代碼基底相關聯。 此外,它們不會在建置階段強制執行,包括在持續整合 (CI) 組建中。 如果您想要將程式代碼樣式喜好設定與專案產生關聯,並在建置期間強制執行樣式,請在與專案相關聯的 .editorconfig 檔案中指定喜好設定

偏好和嚴重性

針對此頁面上的每個程式碼樣式設定,您可以使用每一行的下拉式清單來設定 偏好嚴重性 的值。 嚴重性可以設定為 僅重構建議警告,或 錯誤。 如果您想要為程式代碼樣式啟用 快速動作,請確保 [嚴重性] 設定為非 [僅重構] 的其他設定。 快速動作 燈泡 、錯誤燈泡 或螺絲起子 圖示會在使用非慣用樣式時出現,而且您可以在 [快速動作] 清單中選擇一個選項,以自動將程式碼重新編寫為慣用樣式。

在建置過程中強制執行程式碼樣式

從 Visual Studio 2019 16.8 版開始,其中包含 .NET 5.0 RC2 SDK,您可以 在所有 .NET 專案建置 上強制執行 .NET 編碼慣例。 在建置階段,.NET 程式代碼樣式違規會顯示為警告或具有 “IDE” 前置詞的錯誤。 這可讓您嚴格強制執行程式碼基底中的一致程式代碼樣式。

套用程式碼樣式

針對 C# 程式代碼檔案,Visual Studio 在編輯器底部有 程式代碼清除 按鈕(鍵盤:Ctrl+KCtrl+E)從 EditorConfig 檔案或 程式代碼樣式 選項頁面套用程式代碼樣式。 如果專案的 .editorconfig 檔案存在,這些是優先的設定。

提示

設定 嚴重性的規則不會參與程式代碼清除,但可以透過 [快速動作和重構] 功能表個別套用。

若要套用程式代碼樣式:

  1. 首先,在 [設定程式代碼清除] 對話框中,設定您要套用的程式代碼樣式(在兩個配置檔之一中)。 若要開啟此對話框,請按下程式代碼清除掃把圖示旁的展開器箭號,然後選擇 [設定程式代碼清除]

    配置程式碼清理的螢幕快照。

  2. 設定程式代碼清除之後,請使用下列其中一種方法來執行程式代碼清除:

    • 按一下掃把圖示,或按 Ctrl+KCtrl+E 來執行程式碼清理。

      執行程式代碼清除的螢幕快照。

    • 若要跨整個專案或方案執行程式代碼清除,請以滑鼠右鍵按兩下 [方案總管] 中的專案或方案名稱,選取 [分析及程式代碼清除]],然後 選取 [執行程式代碼清除]。

      整個專案或解決方案執行程式碼清理的螢幕快照。

    如果您想要每次儲存檔案時套用程式代碼樣式設定,您可能會喜歡 儲存時的程式代碼清理 擴充功能。

針對 C# 程式代碼檔案,Visual Studio 在編輯器底部有 程式代碼清除 按鈕(鍵盤:Ctrl+KCtrl+E)從 EditorConfig 檔案或 程式代碼樣式 選項頁面套用程式代碼樣式。 如果專案的 .editorconfig 檔案存在,這些是優先的設定。

提示

設定 嚴重性的規則不會參與程式代碼清除,但可以透過 [快速動作和重構] 功能表個別套用。

若要套用程式代碼樣式:

  1. 首先,在 [設定程式代碼清除] 對話框中,設定您要套用的程式代碼樣式(在兩個配置檔之一中)。 若要開啟此對話框,請按下程式代碼清除掃把圖示旁的展開器箭號,然後選擇 [設定程式代碼清除]

    配置程式碼清理的螢幕快照。

  2. 設定程式代碼清除之後,請使用下列其中一種方法來執行程式代碼清除:

    • 單擊掃把圖示,或按 ctrl +Ctrl+E

      執行程式代碼清除的螢幕快照。

    • 若要跨整個專案或方案執行程式代碼清除,請以滑鼠右鍵按兩下 [方案總管] 中的專案或方案名稱,選取 [分析及程式代碼清除]],然後 選取 [執行程式代碼清除]。

      整個專案或解決方案執行程式碼清理的螢幕快照。

    如果您想要每次儲存盤案時套用程式代碼樣式設定,請移至 [選項]>[文本編輯器]>[程序代碼清除],然後選取 [儲存時執行程式代碼清除配置檔]。

程式代碼清除設定

大部分的程式代碼清除設定都會對應至 .editorconfig支援的一或多個 .NET 程式代碼樣式。 如需顯示設定效果的範例,請使用下表中的連結。

設定 規則識別碼或樣式選項
拿掉不必要的匯入或使用 IDE0005
排序匯入或使用 dotnet_sort_system_directives_first
dotnet_separate_import_directive_groups
套用檔案標頭的喜好設定 file_header_template
拿掉未使用的變數 CS0219
應用物件創建偏好設定 visual_basic_style_prefer_simplified_object_creation
套用 IsNot 偏好設定 visual_basic_style_prefer_isnot_expression
新增「this」或「Me」標記 IDE0003-IDE0009
新增存取修飾詞 dotnet_style_require_accessibility_modifiers
訂單調整選項 IDE0036
將欄位設為唯讀 dotnet_style_readonly_field
拿掉不必要的轉換 IDE0004
套用物件/集合初始化參數) dotnet_style_object_initializer
套用「using」指令放置偏好設定 csharp_using_directive_placement
套用括號偏好設定 IDE0047-IDE0048
套用尚未使用的偏好設定值 IDE0058
套用語言/架構類型喜好設定 IDE0049
移除未使用的抑制 dotnet_remove_unnecessary_suppression_exclusions
套用簡化布爾表示式喜好設定 dotnet_style_prefer_simplified_boolean_expressions
設定字串插補的偏好 dotnet_style_prefer_simplified_interpolation
拿掉未使用的參數 dotnet_code_quality_unused_parameters
套用自動屬性喜好設定 dotnet_style_prefer_auto_properties
套用複合指派喜好設定 dotnet_style_prefer_compound_assignment
套用合併運算式喜好設定 dotnet_style_coalesce_expression
套用條件表達式喜好設定 dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
套用元組名稱喜好設定 dotnet_style_explicit_tuple_names
dotnet_style_prefer_inferred_tuple_names
套用推斷的匿名類型成員名稱喜好設定 dotnet_style_prefer_inferred_anonymous_type_member_names
套用空值檢查偏好設定 dotnet_style_prefer_is_null_check_over_reference_equality_method
套用 Null 傳播喜好設定 dotnet_style_null_propagation
套用 『var』 喜好設定 IDE0007-IDE0008
為單行控件語句新增必要的大括弧 csharp_prefer_braces
套用表達式/區塊主體喜好設定 表達式主體成員
套用內聯『out』變數喜好設定 csharp_style_inlined_variable_declaration
套用模式比對偏好設定 模式比對喜好設定
套用條件委派呼叫喜好設定 csharp_style_conditional_delegate_call
套用靜態本地函式偏好 csharp_prefer_static_local_function
套用解構設定偏好 csharp_style_deconstructed_variable_declaration
套用 default(T) 喜好設定 csharp_prefer_simple_default_expression
套用 new() 偏好設定 csharp_style_implicit_object_creation_when_type_is_apparent
套用範圍偏好設定 csharp_style_prefer_range_operator
套用使用地方函式而非匿名函式的偏好 csharp_style_pattern_local_over_anonymous_function
套用參數空值偏好設定 null 檢查喜好設定
使用語句喜好設定套用 csharp_prefer_simple_using_statement
套用 throw 運算式喜好設定 csharp_style_throw_expression

::: moniker-end