使用DotNet Format程式化代碼
在本文中,我們將介紹如何使用dotnet format工具程式化地格式化您的C# .NET程式碼。 本指南基於Gerald Versluis的影片教學,內容為"自動格式化您的C# .NET程式碼,使用DotNet Format",他有效地展示了如何使用該工具來確保您的程式碼遵循一致的格式化標準。 我將提供時間戳記和詳盡的說明,說明Gerald在影片中做了什麼,以幫助您跟隨並將這些技術應用到您的專案中。
DotNet Format介紹
在(0:36),Gerald介紹了dotnet format作為一個工具,其設計目的是依據.editorconfig文件中定義的規則格式化C#程式碼。這個文件在強制執行項目中的一致編碼風格方面是至關重要的。 它確保所有的程式碼都遵循相同的格式化指南,這可能包括:
- 縮排風格:是使用製表符還是空格。
- 間距規則:運算符、括號等周圍的空間量。
- 程式碼結構:單行和多行結構的格式化方式。
通過應用這些規則,dotnet format有助於維持統一的程式碼庫,並使其更易於閱讀和管理。
了解.editorconfig文件
正如Gerald在(0:48)所解釋的,.editorconfig文件指定了各種編碼風格的偏好。 此文件高度靈活,允許您定義廣泛的格式化規則,包括:
- 縮排偏好:決定縮排是使用製表符還是空格以及使用多少空格。
- 間距指南:控控制代碼元素如運算符、括號、和關鍵字周圍的空間。
- 其他格式化規則:定義附加的風格規則以確保代碼一致性。
.editorconfig文件用作不同編輯器和IDE之間程式碼格式化的中心配置點。
DotNet Format工具的概述
Gerald解釋說,dotnet format是(1:13)針對.NET運行時的全局工具。 作為一個全局工具意味著它可以安裝一次然後在您的系統上用於各種.NET專案。 這允許一致的代碼格式化,而無需為每個專案進行單獨的安裝或配置。
您可以在GitHub上訪問dotnet format儲存庫,地點在(1:26)。 這個儲存庫提供了源代碼、文件、和關於該工具的附加信息,幫助用戶理解它的功能並保持最新版本。
DotNet Format的基本使用
在(2:09),Gerald演示了使用dotnet format的基本命令:
dotnet format <options> <workspace>
dotnet format <options> <workspace>
什麼是工作區?
在dotnet format的上下文中,"工作區"一詞指代將被格式化的代碼範圍。 這可以包括:
- 解決方案文件:包含多個專案的.sln文件。
- 專案文件:包含特定代碼文件的單個.csproj文件。
- 文件夾:包含多個程式碼文件的目錄,包括.cs文件和可能的.vb文件。
指定不同類型的工作區的靈活性允許您在項目中不同層次上應用格式化。
功能和選項
在(2:27),Gerald強調了dotnet format的幾個主要功能和選項:
- 自動修正:該工具可以根據您的.editorconfig文件中定義的規則自動更正格式化問題。這對於在不需要手動干預的情況下保持您的項目一致的代碼風格很有用。
- 僅檢查:如果您更願意查看格式化問題而不做更改,您可以使用該工具來僅檢查問題。 這個功能在連續整合(CI)管道中特別有用。
進階選項和自訂
Gerald探討了進階選項和自訂。 他提到了:
- 嚴重程度級別:允許您指定應修復哪些嚴重程度級別的問題。 這有助於針對特定類型的格式化問題。
- 包括/排除文件:您可以控制哪些文件被包括或排除在格式化之外。 這對專注於代碼庫的特定部分很有用。
- 僅檢查並帶退出代碼:通過使用檢查選項,您可以驗證是否有任何格式化問題而不應用修正。 退出代碼將指示是否發現問題。
- JSON報告:生成詳細的JSON格式報告,提供代碼格式狀況的洞察。
- 詳細級別:設置詳細級別以控制生成的輸出量。
- 工具版本:檢查dotnet format的版本以確保與您的項目相容並保持最新功能。
安裝Dotnet Format工具
Gerald首先解釋了dotnet format工具的安裝過程,這對於程式化地格式化C#代碼是必不可少的。 他展示了如何通過以下命令將其設置為全局工具:
dotnet tool install -g dotnet-format
dotnet tool install -g dotnet-format
這個命令確保dotnet format在全局範圍內可用,允許從任何命令提示字元或終端輕鬆訪問。 Gerald強調了.NET Core運行時的必要性,如果您最近使用.NET,應已安裝。

為確認安裝成功,在(4:00),Gerald運行了:
dotnet format /?
dotnet format /?
這個命令顯示可用的選項和命令列表,驗證dotnet format安裝正確並準備就緒使用。

在(4:11),Gerald指明一些選項,如--dry-run,已經棄用並建議使用更新的代碼格式化做法。
應用代碼格式化修正
檢查格式化問題
使用Xamarin社區工具組代碼庫作為實際示例,Gerald首先檢查是否有格式化問題而不應用任何更改。 他運行了:
dotnet format . -f --check
dotnet format . -f --check
以識別需要格式化的文件。 在(5:26),Gerald解釋了如何使用--folder為目錄或dotnet format sln為解決方案文件指定工作區。 這個命令列出有格式化問題的文件。
錯誤等級檢查
每個執行過程都有一個退出代碼指示狀態。 Gerald執行了以下命令檢查錯誤等級:
echo %errorlevel%
echo %errorlevel%
Gerald演示了一個退出代碼為2信號表示需要解決的格式化錯誤。

應用和驗證修正
Gerald然後展示了如何再次運行命令以應用格式化修正,但不帶--check旗標:
dotnet format . -f
dotnet format . -f
這將自動根據.editorconfig文件中定義的規則格式化代碼文件。Gerald再次使用上述同一命令檢查退出代碼以確保為0,表示所有格式化問題已解決。
要驗證更改,在(8:00),他使用像GitHub Desktop這樣的圖形工具查看已更新的文件。 該工具顯示了改進之處,如更正的空白、組織的using語句,以及其他格式化調整。

將格式化與您的工作流程整合
Gerald建議將dotnet format工具納入您的構建CI管道。此做法確保程式碼格式化被一致地應用,並有助於維持高品質的程式碼標準。 通過自動化格式化過程,您可以避免手動格式化任務,並確保所有程式碼均遵循定義的風格規則。
結束語
通過跟隨Gerald的詳細演練,您可以輕鬆地將dotnet format整合到您的開發過程中,自動格式化您的C# .NET程式碼。 無論您是單人還是團隊合作,這個工具都能幫助確保您的程式碼保持乾淨、一致,且易於閱讀。 務必查看Gerald的影片以便進一步實際展示和深入了解dotnet format工具。 還請查看他的YouTube頻道以獲得更多關於C#代碼的見解。

