Visual Studio 2019之讓我們統一代碼風格吧

問題

在之前介紹VS2019的一鍵清理的文章當中,我們提到了一個問題,即Apply implicit/explicit type preferences到底是使用哪一個呢?

Visual Studio 2019之讓我們統一代碼風格吧

Apply implicit/explicit type preferences?到底用哪一個呢

首先我們來看一下,這條規則是用來解決什麼問題的。下面的兩條代碼中,你比較喜歡那種風格呢?

Visual Studio 2019之讓我們統一代碼風格吧

Implicit & Explicit Type

第一行代碼是explicit type,第二行代碼是implicit type。這裡不對這兩種風格的優劣進行討論,因為不同的人可能有不同的喜好。知道了二者的區別之後,我們看一看Apply implicit/explicit type preferences的fix結果是什麼樣子的?默認的執行結果如下圖所示:

Visual Studio 2019之讓我們統一代碼風格吧

VS2019默認Apply Explicit type

通過實驗可以看出,代碼清理默認將implicit type轉換為了explicit type。原因是什麼呢?這就涉及到今天我們要討論的問題,VS2019之代碼風格 (Code Style)。

本文不對代碼風格進行討論,請根據自己或團隊的開發習慣制定代碼風格。

Code Style設置

· Ctrl+Q,輸入"C# code style",會打開下面的對話框。對Ctrl+Q不瞭解的小夥伴可以看看之前我的文章,

Visual Studio 2019之讓我們統一代碼風格吧

可以看到,VS2019將explicit type設置為了默認,這也是為什麼我們上面的演示當中,var會被一鍵修改為int類型。你可以在這裡將"Prefer explicit type"改為"Prefer 'var'"(如下圖所示),那麼int會被自動修改為var類型

Visual Studio 2019之讓我們統一代碼風格吧

VS2019給出了許多Preferences設置,並給出了代碼對相應的設置進行了解析。C#開發可以根據自己的需要進行設置。

Code Style的嚴重等級

除了可以設置我們更喜歡哪種代碼風格之外,還可以設定如果違反了這種代碼風格那麼VS2019會給出什麼相應的反饋。相應的級別有

· Refactoring Only

· Suggestion

· Warning

· Error

如下圖所示。

Visual Studio 2019之讓我們統一代碼風格吧

設置嚴重等級

如果我們將"Prefer compound assignments"設置為"Error",那麼下面的代碼中就會出現Error的提示,如下圖所示。此時點擊下圖中的"Use compound assignment",VS會自動將代碼改為compound的模式。

Visual Studio 2019之讓我們統一代碼風格吧

沒有使用compound assignments會被當做錯誤

從UI到文件

進行團隊開發的小夥伴可能已經想到,如果我們能夠把這些UI設置保存在文件當中,那麼就有可能在團隊當中通過共享這個文件來統一代碼風格。VS2019為我們提供了這個功能。

Visual Studio 2019之讓我們統一代碼風格吧

導出UI設置到文件

點擊上圖的"Generate .editorconfig file from settings",可以根據你的UI配置生成一個配置文件。默認存在你項目的根目錄。打開這個文本文件,可以看到剛才的設置:

Visual Studio 2019之讓我們統一代碼風格吧

Code Style配置文件

有了這個文件之後,可以將它同源代碼文件一樣保存在代碼管理平臺,比如Git。這樣整個團隊就能夠確保代碼風格一致了。

作者相關VS2019文章





分享到:


相關文章: