Visual Studio 2022 17.11

| | 0 Comments| 13:20
Categories:

感覺 Visual Studio 2022 的生命週期似乎比預期的長?現在已經推出第十二個次版本、版號推進到 17.11 了。

官方的公告是《Visual Studio 2022 v17.11 – Your feedback in action》,C++ 的部分可以參考《What’s New for C++ Developers in Visual Studio 2022 17.11》、詳細的資料則也可以參考官方的 release note

這次 Visual Studio 內的「新增功能」的視窗列出了數量頗多的改進項目,感覺上回去看官方公告分類過的會比較好看:

  • 生產力提升
    • 找到您正在尋找的程式碼
    • 更有意義的程式碼檢閱(code review)( GitHub / Azure DevOps )
    • 熟悉的鍵盤快速鍵
  • 偵錯與分析
    • 在 Linux 上對您的 CMake 專案進行偵錯
    • 將中斷點自動新增至預設群組
    • Build Insights QoL 更新(C++)
    • 更容易修正的非同步例外狀況(.Net 9+)
    • Blazor WebAssembly 偵錯(.Net 9+)
    • 輕鬆分析外部程式碼(.Net)
    • 具表達力的 IEnumerable 視覺化工具
    • 更快速且更一致地進行分析
  • IDE 與工作流程
    • 永遠不再遺漏安裝某個元件
    • 保持更新和安全(透過 Windows Update
    • WinUl 範本優先順序
    • 新的 Teams 工具組範本
    • 已改進的「資源總管」(.Net)
    • 改善的使用者驗證
  • GitHub Copilot 的安全性與改進
    • AI 生成的中斷點運算式
    • 使用 GitHub Copilot 了解您的符號
    • 優化您的 GitHub Copilot 建議
    • 命名項目變得容易
    • GitHub Copilot 變得更安全
  • Web 與遊戲開發工具
    • 方案總管中的 NPM 套件
    • 探索動態 Web API 路由(ASP.NET Core Web API)
    • Unreal Engine 整合的改進
      • Unreal Engine 「新增類別」範本
      • Unreal Engine 新增模組
      • Unreal Engine 新增外掛程式
      • Unreal Engine 工具列

不過老實說,這邊列了一堆,但是像是 GitHub Copilot 是要另外付錢的、Heresy 這邊用的是內部的 GitLab 而非 GitHub,外加 Heresy 又只有以開發 C++ 為主,所以大部分的新功能其實和 Heresy 都沒什麼關係就是了。 XD

實際上,這次更新的內容,在 C++ 的部分個人是沒有比較大的變化,官方也僅有提供標準函式庫也修改而已。

不過,在偵錯的效能上,官方倒是號稱大幅提高了 C++ 中斷點的處理速度!在處理 80,000 個 iteration 的狀況下,需要的時間從 80 秒大幅縮短成 21 秒;所以預期以後在特定情境下的偵錯速度是可以提高的。

不過在介面上,個人倒是覺得有的東西算是可以看看的。

限定程式碼搜尋的範圍

首先,在 17.5 加入的 all-in-one 搜尋,現在在程式碼搜尋(code search、快速鍵 Ctrl + T)的部分可以去限定搜尋的範圍了~透過限定成方案、專案、或是單一檔案,其實都算是滿實用的!

預設中斷點群組

「中斷點群組」(breakpoint group)這個功能是用來方便管理中斷點、可以一口氣開啟/關閉一群中斷點用的;在複雜的偵錯情境下,算是個實用的功能。

而現在則是可以將某個群組設定成預設群組,這樣以後按 F9 加入中斷點,就會直接放到這個群組裡面。

老實說,算是 Heresy 基本上沒在用的功能?

可以透過 SSH / WSL 來進行 CMake 專案的偵錯

去年底 Heresy 也有在《Visual Studio 2022 的 CMake 專案操作(Windows + Linux)》這篇文章大概介紹過怎麼透過 Visual Studio 來進行 CMake 專案的操作。

而現在則是在選單的「專案」裡面,多了一個「使用 CMake 偵錯設定」(Configure Cache with CMake Debugging)快取的選項,

理論上透過這個選項,應該是可以使用 Visual Studio 來偵錯 CMake 腳本和 CMakeLists.txt ?

在專案提供需要的元件設定

17.5 的時候,Visual Studio 提供了一個「.vsconfig」的設定檔案格式,讓使用者可以透過這個設定檔來指定要安裝 Visual Studio 的那些元件。

而現在如果把這種檔案放在方案的跟目錄的話,那 Visual Studio 在開啟方案的時候,就會去檢查需要的元件是否都有安裝?沒有安裝的話,他也會跳出警告、讓使用可以快速安裝缺少的元件。

如果想要建立這樣的設定的話,可以在方案管理員裡面,選擇方案後按右鍵、在「加入」裡面就可以看到「安裝組態檔」了。

點選之後,它會叫出 Visual Studio Installer 來進行匯出的動作。

這邊他預設是會把目前安裝的東西都列進來,所以會建議點選「檢閱詳細資料」來做篩選、把沒必要的東西拿掉。(老實說這樣還是一堆沒必要的原件)

之後也可以打開匯出的 .vsconfig 檔案來編輯(JSON 格式),甚至在裡面額外加入必要的延伸模組。(詳細的說明可以參考官方文件。)

之後其他人如果再沒有必要的元件或延伸模組的情況下開啟方案,在方案總管就會跳出警告、並可以安裝。

在個人來看,這個設計對於多人協同開發是相當實用的!這邊以後應該也會替既有的專案加上這樣的設定檔案吧~

終於修正的 OpenMP 翻譯

Visual Studio 在 C++ 專案裡面針對 OpenMP 的設定選項翻譯應該是錯很久了,一直以來都是把「OpenMP Support」翻譯成不知所云的「開啟 MP 支援」。

印象中 Heresy 很久以前就向微軟反映過,但是沒有下文。不過今年五月的時候又反映一次(連結),這次倒是終於修正成「OpenMP 支援」了。


大概就是這樣了?

相較於之前的 17.10 由於次版號進位到十位數、導致不少軟體函示庫產生版本誤判、支援的問題(可參考《Visual Studio 使用 C++ 時混亂的版本編號》),如果有修正的話在這個版本應該是不會再出現了?但是像是 Boost C++ Libraries 目前還是 1.85.0、所以如果要建置的話可能還是得手動修正了。

而雖然說其實沒什麼差,但是個人還是比較好奇,到底什麼時候會改大版號? XD

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *