Visual Studio 2022 17.3

微軟在 2021 年底推出 Visual Studio 2022(17.0)後,也又推出了 17.117.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 介面的部分,其實就有強化了一些功能,包括了:

  • 以多列方式顯示索引標籤
    • 在「工具」、「選項」中,「環境」中的「索引標籤與視窗」裡面,可以允許用多列的形式來顯示文件的 tab。
  • 強化標示有修改的圖示的可視性
    • 以前在文件有些改的時候,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 自己覺得比較有用的東西了。至於其他的東西,就麻煩自己看官方資料了。 🙂

發佈留言

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