10分鐘內了解Visual Studio中的Editorconfig
在專案和開發者之間保持一致的程式風格往往成為一個挑戰,特別是在使用不同設置、偏好甚至不同編輯器(如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伺服器專案。 他為其命名為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配置中導入默認設置。 然而,這些設置可以根據需要進行修改。
他導航到空白區域,顯示如何設置:
-
使用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中標記所有與偏好格式不匹配的文件。
這確保開發者遵循定義的風格,並防止在當前文件或整個專案出現不必要的偏差。
雖然在某些不一致性或Visual Studio錯誤可能出現(如錯誤的建議提示),但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或其他文本編輯器,它都能有效地幫助維持一致的程式風格,讓您的專案保持整潔、專業且易讀。
