微軟在 2021 年底推出 Visual Studio 2022(17.0)後,也又推出了 17.1 和 17.2 兩次大更新了。目前看來大概就是以三個月一次的頻率,來推出新的次版號,所以現在微軟也又推出了新的 17.3 了!
官方的公告是《Visual Studio 2022 17.3 is now available!》。詳細的紀錄可以參考官方 release note。
這次一個比較起眼的,就是 Visual Studio Installer 加入了「全部更新」的按鈕。
如此一來,如果電腦裡面有多個 Visual Studio 版本,要更新的時候就可以一次更新了!
而在安裝完後開啟 Visual Studio 也會出現一個「新功能」的分頁,來說明重點的更新項目。
至於官方主要重點的更新項目呢,他主要列了:
- .NET Multi-platform App UI
- Develop apps for Microsoft Teams
- C++ Improvements
- Azure Container Apps
- Live Unit Testing
這幾項,而在 release note 裡面則有提到更多詳細的內容。
例如在主要的 IDE 介面的部分,其實就有強化了一些功能,包括了:
- 以多列方式顯示索引標籤
- 強化標示有修改的圖示的可視性
- 以前在文件有些改的時候,Visual Studio 會在 tab 的檔名後面加上「*」來做顯示;而現在可以改成在 tab 的最右邊用一個更大的「●」來做凸顯,這樣會更明顯。
- 設定在「工具」、「選項」中,「環境」中的「索引標籤與視窗」裡面的「修改已變更的指標」
- 回復關閉的分頁
- 可以透過索引標籤的右鍵選單,點選「還原已關閉的索引標籤」,來快速地開啟之前關掉的文件。
- 在下拉選單中用斜體來顯示看不到的分頁
- 在開了很多檔案後,在下拉選單中會顯示所有已開啟的文件;而現在可以把被隱藏起來(多到沒有顯示在標籤列的)的文件檔案名稱用斜體字顯示(下圖的 josn1.json)。
- 設定在「工具」、「選項」中,「環境」中的「索引標籤與視窗」裡面的「在索引標籤下拉式功能表中以斜體顯示隱藏的索引標籤」
這部分可以參考《Improved doc management personalization》。
再來,C++ 的部分基本上還是個人比較在意的部分了~
以官方的觀點來看,這次很重要的一點是開始支援 Arm64EC,基本上讓程式可以更好地對應 Windows 11 on Arm(官方:《Official Support for Arm64EC is Here 》)。但是就個人來說,這點倒是沒那麼重要就是了。
而在使用體驗上比較重要的,應該是《MSBuild Low Priority Builds in Visual Studio》和《VS2022 Performance Enhancements: Faster C++ Development》這兩篇的內容。
低優先序建置
在建置大型方案的時候,其實很容易把所有的 CPU 計算能力吃完,甚至會影響到系統的其他工作。
而為了避免這樣的問題,這版的 Visual Studio
加入了「以低處理序優先順序執行組件」的選項(工具、選項、專案和方案、建置並執行)。在開啟這個選項後,他用來建置專案的程式(cl.exe、msbuild.exe…)都會用「在標準以下」的優先順序來執行。
理論上在開了這個選項後,以後在建置的時候對系統的影響就會比較少了。而實際上,Heresy 這邊好像也沒碰到 Visual Studio
整個沒反應的狀況了?
個人是建議可以把這個選項打開來用。
強化索引效能
這方面主要就是 Visual Studio 2022 17.3 這個版本大幅強化了針對方案做索引(indexing)的效能。
下面就是官方的測試結果:
理論上,之後應該要完成方案的處理會快很多的。
至於其他的部分呢,在《MSVC Backend Updates in Visual Studio 2022 version 17.3》中也有提到,Visual C++ 團隊也有再繼續針對 LLVM OpenMP 做強化,目前是新增了:
- OpenMP 3.1 的 atomics 相關功能
- 可以在 OpenMP 迴圈中將 pointer 當作 induction variables
這邊基本上算是整理 Heresy 自己覺得比較有用的東西了。至於其他的東西,就麻煩自己看官方資料了。 🙂