IRONSOFTWAREHOME

在10分鐘或更短時間內掌握 Visual Studio 中的 EditorConfig

Editorconfig In Visual Studio In 10 Minutes or Less

Tim Corey

9m 28s

保持一致的編碼風格在專案和開發者之間通常會成為挑戰,尤其是當團隊使用不同的設置、偏好,甚至不同的編輯器如Visual Studio和Visual Studio Code時。 在他的视频"在10分鐘內掌握Visual Studio中的EditorConfig"中,Tim Corey解釋了EditorConfig文件如何使得在.NET專案中定義和強制執行特定專案的編碼慣例成為可能。

這篇文章準確地按照Tim的解釋進行說明,展示了EditorConfig C#設置如何幫助維持程式碼風格、縮排和結構的一致性。 讓我們一步步探索Tim的解釋。

介紹:EditorConfig之所以重要的原因

Tim首先介紹了EditorConfig專案,解釋了現在每個專案的設置比以往任何時候都更容易實現。 現在,您不必依賴儲存在Visual Studio中的個人偏好或編輯器設置,您可以配置一個專案以保持所有貢獻者的一致編碼風格。

建立專案

為了演示EditorConfig文件,Tim在Visual Studio中建立了一個新的Blazor Server專案。 他將其命名為BlazorDemoApp並使用預設配置。 這個簡單的.NET專案作為設置和應用EditorConfig設置的測試平台。

正如Tim所解釋的,這個專案不需要複雜的邏輯或功能。 這僅僅是一個方便的例子,用於研究程式碼風格規則。

了解專案偏好和編碼風格

在這裡,Tim討論了專案層級配置為什麼很重要。 在Visual Studio中,每個使用者可以設置以下事物的偏好:

  • 是使用tab鍵還是空格

  • 縮排大小(例如3或4個空格)

  • 花括號{}的位置是放在同一行還是新的一行

  • 命名空間聲明的型別(塊作用域或文件作用域)

這些偏好通常按使用者儲存在Visual Studio中,而不是按專案。 Tim強調,當與團隊合作時,每個人的本地設置可能會有所不同。 這可能會導致程式碼格式不一致、版本控制系統中的不必要差異,以及手動對齊偏好的時間浪費。

這就是EditorConfig文件格式的作用所在—它定義了一組共享的EditorConfig屬性,使所有開發者的編輯器能自動遵循這些規則。

建立和打開EditorConfig文件

然後,Tim展示如何向解決方案中新增新的EditorConfig文件。

他右鍵單擊解決方案並選擇新增 → 新增EditorConfig。Visual Studio可能在第一次載入文件時報告一個小錯誤,但Tim解釋這是一個無害的怪癖—只需關閉並重新打開文件即可。

這個新文件通常命名為.editorconfig,Visual Studio立即將其識別為配置文件。 值得注意的是,Visual Studio本身支持此文件,其他文字編輯器如Visual Studio Code甚至Sublime Text也支持此文件,通過文字編輯器插件實現。

Tim澄清說,EditorConfig並不是一個僅限於Microsoft的工具。 這是一個行業標準,它幫助不同的編輯器理解和應用相同的編碼慣例,確保了多個環境中格式的一致性。

配置EditorConfig文件設置

一旦打開了EditorConfig文件,Tim解釋說它從當前的Visual Studio配置中獲取預設設置。 然而,這些設置可以根據需要進行修改。

他導航到Whitespace部分,展示如何設置:

  • 使用tab鍵而非空格

  • Tab寬度=3

這些是一些定義程式碼格式行為的EditorConfig屬性的例子。 一旦保存,該配置適用於整個解決方案內,但不適用於其外部。

Tim注意到該EditorConfig文件也可以新增到版本控制系統(如Git)中,確保每個克隆倉庫的開發者都繼承相同的規則。 這有助於保持一致的格式,不論是誰編寫程式碼。

使用程式碼風格和命名空間規則

然後Tim深入講解程式碼風格設置,特別是命名空間聲明風格。

預設情況下,C#使用塊作用域命名空間,這裡的命名空間使用花括號定義。 Tim在Data文件夾下建立了一個類來演示此格式。

然後,他更改EditorConfig文件設置以使用文件作用域命名空間。 當他新增另一個類時,Visual Studio自動應用了更新的風格,顯示用分號(;)而非花括號的命名空間。

這展示了EditorConfig設置如何影響Visual Studio中的預設程式碼生成模板,並自動對齊已定義的專案慣例。

Tim同時指出可以使用程式碼清理功能重新格式化現有文件,確保所有程式碼均符合最新的EditorConfig規則。

設置嚴重性和強制執行規則

在本節中,Tim專注於如何在EditorConfig文件中使用嚴重性等級來控制規則執行。

每個規則可以有如none、suggestion、warning、error之類的值。 Tim將命名空間規則的嚴重性設置為error,即Visual Studio立即在Error List窗口中標示任何不符合首選格式的文件。

這確保了開發者遵循定義的樣式,並防止了當前文件或整個專案中不必要的偏差。

雖然可能會出現一些不一致或Visual Studio的Bug(例如錯誤的建議提示),Tim指出這些問題隨著時間的推移會得到改進。重要的是規則被一致應用,使程式碼易於閱讀和統一。

多個EditorConfig文件和目錄範圍

Tim接著解釋您可以在同一解決方案中擁有多個EditorConfig文件。

例如:

  • 在解決方案層級的根EditorConfig文件定義所有項目的通用設置。

  • 在如/Data這樣的子文件夾中的巢狀EditorConfig文件可以覆蓋某些屬性(例如命名慣例、Tab寬度或換行)。

每個EditorConfig專案以層次結構為基礎運行—意味着子目錄中的文件繼承自父目錄,除非明確覆蓋。

如果您想定義配置的根,您可以在頂層文件中設置屬性root = true。這樣編輯器只會在此文件而不再向上查找EditorConfig文件。

這個結構使開發者可以對專案級的格式規則進行細粒度控制,同時仍允許某些情況下採用不同的格式。

總結:通過EditorConfig保持一致性

在他的最後評論中,Tim鼓勵開發者積極在其.NET項目中使用EditorConfig。

他強調這種方法讓團隊得以維持一致的格式規則、命名慣例和布局風格—無需強制更改個人的編輯器設置。 每個打開的文件自動遵循專案.editorconfig文件中設置的定義風格。

通過將這些EditorConfig文件提交到版本控制系統中,團隊可以確保每個人—無論其編輯器或環境—均遵循相同的程式碼格式規則。

Tim在他的视频總結強調EditorConfig文件格式簡單、靈活且廣泛支持。 無論您使用Visual Studio、Visual Studio Code或其他文字編輯器,它都能很好地幫助您保持一致的編碼風格,讓您的專案乾淨、專業且易於閱讀。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立