跳至頁尾內容
Iron Academy Logo
C#常見問題

using DotNet 格式化程式以程式化方式格式化程式碼

[[academy-video-youtube({"vid": "lGvP9SZ98vM", "start_time": "0", "title": "使用.NET Format以程式化方式格式化程式碼", "creator": "Gerald Versluis", "length": "9m 34s"})]]

在本文中,我們將演示如何使用.NET格式工具以程式化方式格式化您的C# .NET程式碼。 本指南基於Gerald Versluis的影片教程,內容為"自動使用.NET Format格式化您的C# .NET程式碼",在該教程中,他展示瞭如何有效利用該工具以確保您的程式碼遵循一致的格式標準。 我將提供時間戳和詳細說明Gerald在影片中的操作,以幫助您跟進和將這些技術應用到您的項目中。

介紹.NET Format

在(0:36),Gerald介紹.NET格式作為一種工具,用於根據.editorconfig文件中定義的規則格式化C#程式碼。此文件對於在您的項目中強制執行一致的程式碼風格至關重要。 它確保所有程式碼遵循相同的格式化指南,其中可以包括:

  • 縮排方式:使用Tab鍵或空格。
  • 空格規則:運算符、括號等周圍的空格量。
  • 程式碼結構:單行和多行結構的格式化方式。

通過應用這些規則,.NET format有助於維護統一的程式碼庫,讓閱讀和管理變得更輕鬆。

理解.editorconfig檔案

.editorconfig文件,如Gerald在(0:48)中所説,指定各種程式碼風格偏好。 這個文件非常靈活,允許您定義一系列格式規則,包括:

  • 縮排偏好:決定使用Tab鍵還是空格進行縮排,以及使用多少空格。
  • 空格指導原則:控制運算符、括號和關鍵字等程式碼元素周圍的空格。
  • 其他格式規則:定義其他樣式規則以確保程式碼一致性。

.editorconfig文件作為在不同編輯器和IDE中進行程式碼格式化的配置中心。

.NET Format工具概述

Gerald解釋說.NET format是一個針對.NET運行時的全球工具,見於(1:13)。 作為一個全球工具,意味著它一次安裝即可在系統上的各個.NET項目中使用。 這允許一致的程式碼格式化,而不需要為每個項目進行單獨的安裝或配置。

您可以在GitHub上(1:26)存取.NET格式化儲存庫。 此儲存庫提供源程式碼、文件以及該工具的其他資訊,幫助使用者了解其功能並隨時更新至最新版本。

.NET Format的基本用法

在(2:09),Gerald展示了使用.NET format的基本命令:

dotnet format <options> <workspace>
dotnet format <options> <workspace>
SHELL

什麼是工作區?

在.NET格式化的上下文中,"工作區"一詞是指將被格式化的程式碼範圍。 這可以包括:

  • 解決方案文件:包含多個項目的.sln文件。
  • 項目文件:包含特定程式碼文件的單獨.csproj文件。
  • 文件夾:包含多個程式碼文件的目錄,包括.cs和潛在的.vb文件。

指定不同型別工作區的靈活性允許您在項目的各個級別應用格式化。

功能和選項

Gerald在(2:27)強調了.NET format的幾個關鍵功能和選項:

  • 自動校正:該工具可以根據您.editorconfig文件中定義的規則自動更正格式問題。這對於在項目中保持一致的程式碼風格非常有用,無需手動干預。
  • 僅檢查:如果您希望查看格式問題而不進行修改,可以使用該工具僅檢查問題。 此功能在持續整合(CI)管道中特別有用。

高級選項和自訂

Gerald探討高級選項和自訂。 他提到:

  • 嚴重程度等級:允許您指定應修正的問題的嚴重程度級別。 這有助於針對特定型別的格式問題。
  • 包含/排除檔案:您可以控制格式化中包含或排除的檔案。 這對於專注於程式碼庫的特定部分很有用。
  • 僅檢查與退出碼:通過使用檢查選項,您可以驗證是否有任何格式問題而不應用修正。 退出碼將表明是否找到了問題。
  • JSON報告:生成JSON格式的詳細報告,提供程式碼格式狀態的洞察。
  • 詳細程度:設置詳細程度以控制生成的輸出量。
  • 工具版本:檢查.NET format的版本以確保與您的項目相容並隨時更新至新功能。

.NET Format工具的安裝

Gerald首先解釋.NET格式化工具的安裝過程,這對於程式化格式化C#程式碼至關重要。 他展示了如何通過以下命令將其設置為全球工具:

dotnet tool install -g dotnet-format
dotnet tool install -g dotnet-format
SHELL

此命令確保.NET格式化工具可在全球範圍內使用,允許您從任何命令提示符或終端輕松存取。 Gerald強調需要.NET Core運行時,如果您最近一直在使用.NET,應該已安裝。

安裝截圖

在(4:00),Gerald運行了以下命令以確認安裝是否成功:

dotnet format /?
dotnet format /?
SHELL

此命令顯示可用選項和命令的列表,驗證.NET格式已正確安裝且可以使用。

命令選項截圖

在(4:11),Gerald指出一些選項,例如--dry-run,已被棄用,並建議使用更新的做法進行程式碼格式化。

應用程式碼格式修正

檢查格式問題

使用Xamarin Community Toolkit程式碼庫作為實際範例,Gerald首先在不進行任何更改的情況下檢查格式問題。 他運行:

dotnet format . -f --check
dotnet format . -f --check
SHELL

以識別需要格式化的文件。 Gerald在(5:26)解釋了如何使用--folder指定工作區以處理目錄或.NET格式sln解決方案文件。 此命令列出具有格式問題的文件。

錯誤等級檢查

執行的每個進程都具有指示狀態的退出碼。 Gerald執行了以下命令以檢查錯誤等級:

echo %errorlevel%
echo %errorlevel%
SHELL

Gerald展示了2的退出碼表示存在需要解決的格式錯誤。

錯誤等級截圖

應用和驗證修正

Gerald然後通過再次運行命令但不帶--check標志,以展示如何應用格式修正:

dotnet format . -f
dotnet format . -f
SHELL

這將根據您.editorconfig文件中定義的規則自動格式化程式碼文件。Gerald再次使用前述相同命令檢查退出碼,以確保為0,表示所有格式問題已解決。

為了驗證變更,在(8:00),他使用類似GitHub Desktop的圖形工具來查看更新的文件。 該工具顯示了改善,例如修正的空白、組織的using語句和其他格式調整。

GitHub Desktop截圖

將格式統一整合到您的工作流程中

Gerald建議將.NET格式工具整合到您的構建CI管道中。此做法保證了程式碼格式的一致應用,有助於維持高質量的程式碼標準。 通過自動化格式化過程,您可以避免手工格式化任務,確保所有程式碼均符合定義的樣式規則。

結論

通過遵循Gerald的詳細操作指南,您可以輕鬆地將.NET格式整合到您的開發過程中,以自動化格式化您的C# .NET程式碼。 無論您是獨自工作還是團隊合作,這個工具都可以幫助確保您的程式碼保持整潔、一致且易於閱讀。 務必查看Gerald的影片以獲得操作演示和對.NET格式工具的深入了解。 也請查看他的YouTube頻道,以獲得更多C#程式碼的見解。

Hero Worlddot related to using DotNet 格式化程式以程式化方式格式化程式碼
Hero Affiliate related to using DotNet 格式化程式以程式化方式格式化程式碼

分享您所愛以賺取更多報酬

您是否為使用 .NET、C#、Java、Python 或 Node.js 的開發者建立內容?將您的專業知識轉化為額外收入!

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話