Visual Studio 2022 17.2 正式推出

微軟在去年底正式推出了第一款原生 64 位元的 Visual Studio 2022(17.0)後,其實已經有一次比較大的更新、17.1 了~

不過比較可惜的是,Heresy 這邊的程式因為踩到 Lambda + OpenMP 的問題,所以一直沒能把主要的建置環境切換到 Visual Studio 2022…

而現在,微軟終於推出解決該問題的 Visual Studio 2022 17.2 了!
官方的介紹是《Visual Studio 2022 17.2 is now available!》,比較完整個變化則可以參考官方的 Release Note

Heresy 這便算是簡單整理一下自己覺得在以 C++ 開發為主的時候,可能值得注意的東西。


C++ 編輯器加入行內的型別、引數名稱提示

他的英文是「inline parameter name and type hint」,在中文版的設定裡面叫做「內嵌提示」;基本上就是不去修改程式碼,但是把一些輔助的資訊穿插在程式碼內顯示。

由於是屬於輔助顯示的功能,所以他可以透過快速鍵來做切換;目前似乎是寫死的,是透過 Alt + F1、或是 Ctrl 兩次來做顯示與否的切換。

個人覺得算是個在開發程式的時候的實用功能!

像下面左邊就是一般的狀態,在這個情況下,很難一眼看出透過 auto 來定義的變數 it 的型別(不過滑鼠移上去也會顯示就是了);而在按下 Ctrl 兩次後,Visual Studio 就會用灰底的小字,顯示出它代表的型別、變成下方右圖的樣子了。

 

另外,在呼叫函式的時候,他也可以在傳入的引數前方加入定義函式時、幫引數取的名字;這樣也是能夠快速地去了解個別引數的異議的!

不過比較討厭的,是他的兩個快速鍵在 Heresy 這邊都和既有的軟體沖到了…兩次 Ctrl 基本上是 PowerToys 尋找滑鼠的快速鍵,而 Alt + F1 則是 NVIDIA GeForce Experience 的螢幕截圖快速鍵…

所以如果要使用的話,可能要記得先確認有沒有在使用這兩個軟體,有的話大概就得先把快速鍵改掉了。


C++20 的支援

其中一個,是 MSVC 的 STL 終於在 /std:c++20
這個編譯參數下、完整支援 C++20 了!

雖然微軟之前在 Visual Studio 2019 16.10 就號稱完整支援 C++20 了,但是像是 <ranges><format>,卻都還是要切換到 /std:c++latest
才能使用。

而現在,在 2022 17.2 以及 2019 16.11.14,則終於可以在 /std:c++20
下完整支援 C++20、而不用切換到
/std:c++latest
了。

這部分的說明可以參考《MSVC’s STL Completes /std:c++20》。


C++ 23 的支援

目前 C++23 還沒定案,而 MSVC 在草案的支援上,算是明顯比 g++ 和 clang 來的慢不少(參考)。

不過,在 /std:c++latest
下,已經有支援部分 C++23 的功能了。
包括 deducing this(參考)和 if consteval(參考);而
STL 的部分,則可以參考官方 STL 的 changelog


在 CMake 專案支援 module(實驗性質)

目前可以透過 Visual Studio 產生 CMake 專案、來讓它支援 C++20 的 modules。

Git 的 line-staging(interactive staging)

在 Git 整合的部分,這個版本開預覽性地支援 line-staging(interactive staging、官網)這項功能。由於是預覽性質的,所以需要到「設定」、「環境」的「預覽功能」裡面去手動開啟「啟用行暫存支援」才能使用。

在開啟之後,程式碼編輯器的左側會有更多元的呈現,代表了程式碼的修改、新增、刪除等等;下面就是官方的示意圖:

點選左邊的各種圖示、或是按下 Alt + F8 後,就可以快速遞檢視程式碼的變更了~
(或者是按右鍵,選取「Git」中的「預覽差異」)

有需要的話,則就可以在這邊做個別區段的 staging 了。

而就算沒有要使用 line staging,這樣可以快速地看出來程式的修改狀況,個人也是覺得有相當地實用性的!

這部分詳細的介紹可以參考《Line-staging (Interactive Staging)》。


目前 Visual Studio 2022 算是終於可以用在 Heresy 這邊的專案上了~

但是,比較討厭的是每次 Visual Studio 大改版,Extension 好像也都得跟著改…而雖然 Visual Studio 2022 已經出來半年了,但是還是有不少 extension 沒有辦法在 Visual Studio 2022 使用…

這點對於有硬需求的人來說,真的還是很麻煩啊…

1 thought on “Visual Studio 2022 17.2 正式推出”

  1. 補充一下,昨天檢查更新和下載的速度都很慢,不過今天應該沒問題了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。