[138] Visual Studio 2017, 寫在安裝前...
每當有新版本的 Visual Studio 推出,我會盡量過濾不必要的「雜訊」,把焦點放在 C++ 以及 IDE 增強的功能。「地表最強」前些天釋出正式版,無法在第一時間安裝,原因是:
Visual Studio 2017 推出正式版,嗯... pic.twitter.com/gIN72Zxri8
— sam (@mhtx) March 8, 2017
是滴,硬碟空間不夠吶。雖然新的 Visual Studio Installer 把各大功能切開了,但是光裝 C++ 功能也是硬碟空間不夠吶。我討厭 Electron 的原因之一——它是一個不尊重使用者硬碟空間資源的惡質開發套件:
這種時候對 Electron 的「恨意」特別高。 pic.twitter.com/oC4dm8xKga
— sam (@mhtx) March 8, 2017
「地表最強」只有一個,但我需要多個「第二強」...
每當新版本推出,就要天人交戰該不該安裝(因為要保留舊版本,所以是安裝,不是升級)。以前遇過裝完新版本,結果舊版環境受影響,原本可編譯的專案出問題。那真是苦往肚裡吞,不敢大聲哭。
這情況在 Visual Studio 2013 已經緩解許多(記得新的專案格式 .vcxproj 將往前相容考量進去)。Visual Studio 2017 進一步增強新舊共存的功能,官方指出,Visual Studio 2017 可開啟 2013/2015 的專案,而且使用原本舊的編譯器、函式庫,但是用新的功能更強大的 IDE 來編碼:
If you are currently using VS2013 or older, and you initially want everything to continue working as it was, there is good news for you: just use the older compiler and libraries toolset that is already on your disk with the latest Visual Studio.
即使是全新的系統,安裝 Visual Studio 2017 時也可以選擇只安裝 Visual Studio 2015 的工具集,這作法對需要維護舊專案的開發人員很有用。
官方這篇文章詳細說明了往前相容的 Visual Studio 版本,可一路支援到 Visual Studio 2008(多幾個步驟)。
追根究柢,同時安裝多個 Visual Studio 版本最大的挑戰還是——SSD 空間很珍貴。
Open Folder and Go!
Visual Studio 的專案由兩個主要「組件」構成——Solution and Projects。一個 Solution 可以包含一或多個 Projects。直接開啟 .vcxproj,Visual Studio 會自動建立 .sln 檔,不太好。
Visual Studio 2017 的新功能 Open Folder 讓你開啟內含 C++ 原始碼的目錄,同時啟用 IntelliSense 以及其它先前版本需要 .sln/.vcxproj 才有作用的功能。即開即用,對於 Catch Unit Test 這種 Header-only library 應該會有用。
Open Folder 的設定檔跟 Visual Studio Code 極為類似,皆以 JSON 格式來設定相關動作,如 Debug, Build。
Vcpkg
一直以來,咱們 C++ 界就缺一個慣用的 Package Manager。Conan 表現不算差,不過普及度似乎不太高。現在,老大哥微軟推出自己的產品——Vcpkg,有機會一統江湖嗎?(其實,約兩年前,NuGet 充當 C++ Package Manager,不過似乎沒推成功)
細看 Vcpkg 專案原始碼,用的是 PowerShell。選她不選 Node.js,為什麼?這個去年開源而且已經支援 Windows 以外的平台的開發工具,近年越來越受歡迎了。
快還要更快
- 載入大型專案的速度變快了
- 建置的專案的速度變快了
- IntelliSense 的速度更快,而且更穩定
結語
每隔幾年就有新的玩具與生財工具可用,想一想,有種淡淡的幸福感。難道,這就是傳說中的「小.確.幸」?