跳至頁尾內容
Iron Academy Logo
C#工具與生產力

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

[[academy-video-youtube({"vid": "CQW5b58mPdg", "start_time": "0", "title": "Editorconfig In Visual Studio In 10 Minutes or Less", "creator": "Tim Corey", "length": "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或其他文字編輯器,它都能很好地幫助您保持一致的編碼風格,讓您的專案乾淨、專業且易於閱讀。

Hero Worlddot related to 在10分鐘或更短時間內掌握 Visual Studio 中的 EditorConfig
Hero Affiliate related to 在10分鐘或更短時間內掌握 Visual Studio 中的 EditorConfig

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

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

Iron 支援團隊

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