微軟又針對旗下的程式開發環境、Visual Studio 推出新版本囉~這次的版本是 Visual Studio 2017,目前也已經可以下載安裝了~它的官方網站是:
而新功能的介紹,則可以參考「新功能」的頁面(連結)、或是直接看 release note 的細節(連結)。
目前的 Visual Studio 有三個版本,包括了免費的社群版(Community、官網)、一般人用的專業版(Professional、官網),以及最高階的企業版(Enterprise、官網)。
而 Visual Studio 2017 有什麼改變呢?這邊 Heresy 大概來列幾點吧。
新的安裝介面
最明顯的一點,應該就是整個砍掉重寫的安裝程式吧?根據官方的說法,新的安裝程式主要的特色有三大特色:
- 讓 Visual Studio 的使用量降至最低。
- 安裝更快速,對系統影響更小,並可完全解除安裝。
- 讓您更容易選取和安裝所需的功能。
下圖就是新的安裝介面。一般來說,可以在左邊以功能導向(或是目標導向?),來選取要安裝的功能,而點選後,右邊則會出現對應的細部選項,而右下方也會顯示目前需要的容量。
雖然微軟說輕量化過了,但是實際上,真的把對應的 C++ 開發環境都裝起來,所需的磁碟容量還是不小啊…
不過,感覺上安裝速度倒是的確有變快就是了!而且,整個安裝流程也僅需要重開機一次。不過,這也有可能是因為 Heresy 電腦上已經有 Visual Studio 2015 的關係?
另外,Visual Studio 2017 除了還是有手機開發的套件(Xamarin)外,這次也還有一些遊戲引擎相關的套件(參考),可以選擇安裝。
另外,根據官方的說法,以後也可以透過這個安裝介面,來進行版本的更新。
支援 CMake
這版對於會使用 OpenSource 專案的 C++ 開發者來說,有一個滿方便的新功能,那就是他開始直接支援 CMake(官網)了~透過新的「開啟資料夾」的功能,可以直接開啟一個 CMake 的專案,並進行健置。
Heresy 自己還沒認真玩過這功能,不過如果夠方便的話,以後應該就可以考用一個工具了。
這部分的說明,可以參考《CMake support in Visual Studio》。
輕量型方案負載
對於超大型的方案,Visual Studio 2017 也提出了一個加快讀取的解決方案~
不過這個功能預設應該沒有開啟,要自己去啟用才行。而 Heresy 這邊裝的中文版在設定介面上似乎有點問題,沒辦法點到那個選項。 @@
根據微軟《Shorter Solution Load Time in Visual Studio "15"》的說法,這個功能應該可以縮短開發時間到一半以下。
C++ 的部分
由於 Heresy 還是以 C++ 開發為主,所以這邊還是稍微來看一下 C++ 的更新吧。這邊可以參考《Visual Studio 2017 for C++ developers – you will love it》和《MSVC: The best choice for Windows》這兩篇文章。
與舊版的相容性
首先,雖然 Visual Studio 2017 的內部編號是「15」(之前也是 Visual Studio 15 預覽版),但是實際上,這個版本的 Visual C++ 的 toolset 的版本只是 14.1、而不是 15,感覺上差異似乎不大?
根據《Binary Compatibility and Pain-free Upgrade: Why Moving to Visual Studio 2017 is almost "too easy"》 一文的說法,MSVC2015 和 MSVC2017 的 VC Runtime 是相容的~而看來,之前編譯的第三方函式庫,應該也可以直接沿用呢~
支援不同的編譯器
另外,上面也可以看到,現在 C++ 的專案甚至還可以把編譯工具切換成「Clang with Microsoft COdeGen」、透過 Clang 這個 LLVM 的編譯器來建置程式~所以如果要玩跨平台的話,應該可以更方便地測試了!至於 gcc 呢?目前還是得用比較麻煩的方法才行了。
而這部分的細節,則可以參考《Use any C++ Compiler with Visual Studio》。
標準相容性
在針對 C++11、C++14、甚至 C++17 的支援性的部分…恩,Heresy 找不到比較完整的列表。目前主要是看到官方所寫的「更新了 C++ 編譯器和標準程式庫,加強對 C++11 和 C++14 功能的支援,以及對 C++17 標準某些預期功能的基本支援」,再來就是《C++ Standards Conformance from Microsoft》和《C++14 conformance improvements: constexpr and aggregate initialization》這些文章了。這次似乎比較沒有簡略式的表格對比。
另一方面,MSVC 2017 的 toolset v141 也把 C++ Core Guidelines 的檢查加進來了~透過這個額外的檢查,應該可以更好地確保程式碼本身的寫法是好的。這部分可以參考《Check for const correctness with the C++ Core Guidelines Checker》。
目前看來似乎都滿好的?不過比較遺憾的是,很多工具目前都還沒支援這麼新的開發環境。
像是 Qt 5.8 雖然的確可以用 VC2015 的套件來編譯程式,但是卻沒有 Qt Visual Studio Tools(參考)可以用。
而至於像 NVIDIA CUDA SDK 的話…恩,要等到他正式支援 Visual Studio 2017,不知道又得等多久了…
不過,之後 Heresy 應該會先試著用 Visual Studio 2017 的 IDE、搭配 Visual Studio 2015 的編譯環境來開發看看吧。
另外,如果有興趣的話,Visual Studio for Mac 的預覽版(官網)也更新了~Apple 系列的用戶有興趣嘗鮮的話,應該是可以試試看了。