Visual Studio 2022 Preview 發行備註
17.11 版 Preview 1
2024 年 5 月 21 日發行
此版本著重於適用於所有開發人員和工作負載的生活品質增強功能。 當您使用 Visual Studio 時,您會想要感到更有能力且具生產力。 這就是為什麼生活品質功能如此重要:其可讓程式碼撰寫變成一個順暢且令人愉快的體驗,而沒有任何不必要的麻煩和問題。 您一定會喜歡此更新。
重要
預覽通道未「上線」,且不適合在實際執行電腦上使用或建立實際執行程式碼。 如需詳細資訊,請參閱 Visual Studio 產品生命週期與服務。
生產力 | 來自社群 |
---|---|
找到您正在尋找的程式碼Preview 1 | 意見反應票證 (英文) |
針對提取要求註解的使用者體驗更新Preview 1 | 意見反應票證 (英文) |
使用草稿和範本建立更好的 PRPreview 1 | 意見反應票證 (英文) |
更好的鍵盤快速鍵Preview 1 | 意見反應票證 (英文) |
偵錯 | 來自社群 |
---|---|
更容易修正的非同步例外狀況Preview 1 | 意見反應票證 (英文) |
更快速且更一致地進行分析Preview 1 | |
輕鬆分析外部程式碼Preview 1 |
IDE | 來自社群 |
---|---|
永遠不再遺漏安裝某個元件Preview 1 | 意見反應票證 (英文) |
改善的使用者驗證Preview 1 |
Desktop (電腦) | 來自社群 |
---|---|
WinUI 範本優先順序Preview 1 |
Web | 來自社群 |
---|---|
方案總管中的 NPM 套件Preview 1 |
遊戲 | 來自社群 |
---|---|
Unreal Engine [新增類別] 範本Preview 1 | 意見反應票證 (英文) |
Unreal Engine 工具列Preview 1 |
C++ | 來自社群 |
---|---|
設定 C++ 命令列引數Preview 1 | |
在 Linux 上對您的 CMake 專案進行偵錯Preview 1 | 意見反應票證 (英文) |
熱門錯誤 (Bug) 修正 | 來自社群 |
---|---|
將 C# 原始程式碼豐富複製/貼上至 Office 時發生失敗 Preview 1 | 意見反應票證 (英文) |
針對成員變數的類別內指標具有不正確的錯誤 Preview 1 | 意見反應票證 (英文) |
針對將右位元移位將類型從帶正負號切換成不帶正負號的最佳化 Preview 1 | 意見反應票證 (英文) |
切換分支時索引超出界限 Preview 1 | 意見反應票證 (英文) |
警告 C26434 誤判為真 (Code Analysis) Preview 1 | 意見反應票證 (英文) |
偵錯工具中 std::variant 的部分視覺效果 Preview 1 | 意見反應票證 (英文) |
注意
請參閱由使用者回報並納入此版本的所有功能要求 (英文) 和錯誤 (Bug) 修正 (英文) 的完整清單。
生產力
找到您正在尋找的程式碼
「您現在可以將程式碼搜尋的範圍從整個解決方案縮小到目前的文件或目前的專案。」
您是否曾經覺得程式碼搜尋的結果太多了? 使用程式碼搜尋中新推出的範圍選項來縮小您的焦點範圍。
針對預設程式碼搜尋體驗和每個篩選,您現在可以將範圍設定為 [整個解決方案]、[目前專案],或 [目前文件],並切換是否要包括外部檔案。
您可以為不同的篩選設定不同的範圍。 例如,您可以將預設體驗設定為查看 [整個解決方案],並將成員設定為僅查看目前的文件。 未來的工作階段也會繼續保留您目前的選取項目。
注意
此功能必須在 [工具] -> [管理預覽功能] 下啟用
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
針對提取要求註解的使用者體驗更新
現在,您可以在編輯器中取得更佳的 Azure DevOps 和 GitHub 提取要求註解體驗
我們讓您可以輕鬆地直接在 Visual Studio 的工作檔案中檢視 GitHub 和 Azure DevOps 提取要求註解。 您現在可以繼續留在原本的內容中,進行必要的程式碼變更,並與同事的建議互動,而不需將內容切換至瀏覽器。
新的改善
啟用 [提取要求註解] 功能旗標、簽出任何具有使用中提取要求分支的分支,然後在資訊列中按一下 [在檔案中顯示註解]。
最新的改善包括對 @提及和工作項目參考更佳的支援、對注意點和註解邊界的視覺改善、新增虛擬人偶、與伺服器之間更佳的同步,以及 Git 變更視窗中的額外進入點。
注意
此功能必須在 [工具] -> [管理預覽功能] 下啟用
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。同時填寫這份問卷 (英文) 以協助使功能變得更好。
使用草稿和範本建立更好的 PR
您現在可以在 Visual Studio 中建立提取要求草稿並使用範本來開始撰寫描述。
您現在可以在 Visual Studio 中建立提取要求草稿並使用 GitHub 範本來開始撰寫描述。 這是針對建立提取要求體驗最熱門的兩個要求。
草稿 PR
使用 [建立] 按鈕上的下拉式功能表來 [建立為草稿]。
PR 範本
建立 GitHub 和 Azure DevOps 的新 PR 時,將會使用您的預設 PR 範本。 請參閱 GitHub 文件 (英文) 和 Azure DevOps 文件 (英文) 以深入了解如何將 PR 範本新增至您的存放庫。
注意
此功能必須在 [工具] -> [管理預覽功能] 下啟用
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。同時填寫這份問卷 (英文) 以協助使功能變得更好。
更好的鍵盤快速鍵
一些常見的鍵盤快速鍵現在已與其他熱門 IDE 中的快速鍵相符。
在不同的 IDE 與編輯器之間轉換時,如果每次都必須重新學習鍵盤快速鍵,可能會讓人感到相當挫折。 我們已對一些預設鍵盤快速鍵進行一些變更來使其更加熟悉,讓您可以保留先前的肌肉記憶。
切換行註解
在 Visual Studio 切換行註解的功能已經存在好一段時間,但其預設鍵盤快速鍵一直都是 Ctrl+K, Ctrl+/
。 我們已經新增 Ctrl+/
作為替代快速鍵,其為許多其他 IDE 和編輯器的預設快速鍵。
開啟命令選擇區
其在 Visual Studio 中的名稱是 [功能搜尋]。 此功能的預設鍵盤快速鍵現在是 Ctrl+Shift+P
,對於 VS Code 使用者來說,應該已經很習慣使用這個快速鍵來開啟命令選擇區。
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
偵錯
更容易修正的非同步例外狀況
偵錯工具現在會在發生由架構程式碼攔截到的非同步方法例外狀況時中斷。
對非同步程式碼進行偵錯,特別是在如 ASP.NET 的架構中這麼做時,可能會因為在非同步界限上擲回的潛在例外狀況而變得很棘手。
現在,使用 Visual Studio 偵錯工具時,當 async Task
方法將例外狀況擲回架構程式碼時,偵錯工具就會自動中斷。
這可讓您輕鬆地識別並診斷 ASP.NET 應用程式中的問題,進而加快偵錯週期並提升生產力。
請注意,這僅適用於 .NET 9 或更新專案。
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
更快速且更一致地進行分析
分析工具中的檢測設備工具現在會在不同的執行之間記住目標選取項目。
檢測設備工具現在會在不同的執行之間保留目標選取項目,透過強化分析工作階段的連續性來提供顯著的好處。
透過這項改進,您可以跨多個檢測設備執行持續維持指定的目標,而不需要進行重複選取的工作。
輕鬆分析外部程式碼
分析工具支援針對 .NET 程式庫進行自動反向組譯,以輕鬆分析外部程式碼。
Visual Studio 分析工具現在會在原始程式碼無法使用的情況下,為 .NET 程式庫提供自動反向組譯。 透過在來源查閱期間對程式碼進行自動反向組譯,即使未載入符號或確切的檔案位置,您也可以取得程式碼的結構和效能問題的見解。
這項功能特別適合用來處理非使用者外部程式碼,其可讓您有效地分析和最佳化應用程式的效能,進而增強您的開發工作流程。
IDE
永遠不再遺漏安裝某個元件
透過使用 *.vsconfig 檔案,您可以確定您的小組已安裝解決方案所需的所有元件和延伸模組。
許多小組使用 *.vsconfig 檔案,將小組的 Visual Studio 安裝標準化。 *.vsconfig 檔案可以放在存放庫或專案的解決方案目錄中,且 Visual Studio 會自動偵測 *.vsconfig 檔案中指定的元件是否遺失。
如果遺漏任何元件,則會出現類似下圖的通知。
我們已在 Visual Studio 2022 17.11 版 Preview 1 中對此體驗推出兩項改善。
- 首先,Visual Studio 現在可以偵測安裝中是否有任何本機或網路裝載的延伸模組遺失 (英文),如果是的話,則會提示您加以安裝。 先前,在延伸模組方面,Visual Studio 只能辨識 Marketplace 延伸模組是否遺失。
- 其次,Visual Studio 現在會在某些情況下重新提示通知,例如如果 *.vsconfig 檔案已變更,因為已將新的元件或延伸模組新增至該檔案時。 先前,通知只會在您採取行動之前彈出,之後就會「永遠」隱藏。
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
改善的使用者驗證
Visual Studio 現在會使用稱為 WAM 的 Windows 驗證代理程式作為預設驗證機制。
Visual Studio 現在會使用 Web 帳戶管理員 (WAM) 作為其主要的驗證機制。 這項整合不僅可簡化 Visual Studio 的驗證體驗,也能增強認證的安全性。
以下是新的 WAM 體驗的外觀:
這會如何影響您的體驗?
使用 WAM 作為預設驗證體驗有許多優點,包括:
- Windows 整合:除了減少驗證提示的整體數目之外,您現在可以選取現有的 Windows 帳戶,而不是重複輸入認證。
- 更好的權杖保護:由於重新整理權杖現在會繫結至裝置,因此會更加安全。
- 支援最新的安全性功能:
- 利用豐富的 OS 功能,例如 Windows Hello 和 FIDO 金鑰。
- 存取最新且最棒的 Microsoft Entra ID 功能和條件式存取原則。
Desktop (電腦)
WinUI 範本優先順序
使用更佳的範本體驗,更快速地深入了解 WinUI。
WinUI 範本已在 [新增專案] 範本選取清單中提供全新的圖示和優先順序提升,使其更容易存取。 C# 和 C++ 最受歡迎的空白應用程式範本位於頂端附近,讓您無需搜尋或捲動,即可跳入程式碼。
同時也引進了單元測試的新範本。
Web
方案總管中的 NPM 套件
您的 NPM 套件會出現在 [方案總管] 中的 [相依性] 節點底下。
我們已整合您在 ASP.NET 和 JavaScript 和 TypeScript 專案中的 NPM 體驗。 因此,您現在也會看到您的 NPM 套件列在 [方案總管] 的 JavaScript 和 TypeScript 專案中。
這是與 Nuget 相同的體驗,但現在也適用於 NPM。
遊戲
Unreal Engine [新增類別] 範本
使用新的 [新增類別],將常見 Unreal Engine 類別範本新增至您的專案。
直接編輯 (英文) Unreal Engine 專案時,您現在可以使用新的 [新增類別] 對話方塊,將其他常見的 Unreal Engine 類別範本新增至您的專案。 此對話方塊提供您可以新增至專案的常見 Unreal Engine 類別範本清單。
若要開始使用,請以滑鼠右鍵按一下 [方案總管] 中的專案,然後選取 [新增]>[Unreal Engine 類別]。 在 [加入新項目] 對話方塊中,選取 [Unreal Engine 類別] 以開啟 [新增類別] 對話方塊。
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
Unreal Engine 工具列
透過專用工具列快速存取 Unreal Engine 相關動作。
新的 Unreal Engine 工具列可讓您快速存取 Unreal Engine 相關動作。 當您在 Visual Studio 中載入 Unreal Engine 專案時,便可以使用工具列。 工具列包括下列動作:
- 快速附加至 Unreal Engine 處理序
- 在伺服器模式中啟動 Unreal Engine
- 重新掃描藍圖快取
- 存取 Visual Studio 的 Unreal Engine 設定頁面
C++
設定 C++ 命令列引數
工具列中直接設定命令列引數的新方法。
使用新的 [設定引數] 工具列,快速設定 C++ 專案的命令列引數。 此工具列可讓您在工具列中直接設定命令列引數,以便快速變更引數。 當您執行專案時,系統會傳遞在方塊中輸入的任何引數。
如果您已安裝 [使用 C++ 進行遊戲開發] 工作負載,預設就會顯示此工具列元件。 如果您沒有看到此元件,請以滑鼠右鍵按一下工具列,然後選取 [設定引數] 來新增此元件。
在 Linux 上對您的 CMake 專案進行偵錯
您現在可以使用 WSL 和 SSH 針對以 Linux 為目標的專案對 CMake 指令碼進行偵錯。
我們已新增透過 WSL 或 SSH 對以 Linux 為目標的 CMake 專案使用 CMake 偵錯工具的支援。 CMake 偵錯工具可讓您透過 Visual Studio 偵錯工具對 CMake 指令碼和 CMakeLists.txt 檔案進行偵錯。
若要啟動 CMake 偵錯工作階段,請在 CMakeLists.txt 檔案中設定中斷點,然後瀏覽至 [專案] > [使用 CMake 偵錯設定快取]。
📣請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
提示
如果您有想要在未來的 Visual Studio 更新中看到的功能,請提交功能票證 (英文) 來讓我們知道。
注意
我們的藍圖顯示 Visual Studio 未來的優先順序和方向,因此請務必查看。
注意
此更新可能包含個別授權的新 Microsoft 或第三方軟體,如第三方通知或其隨附授權中所述。
我們全體小組成員皆感謝您選擇使用 Visual Studio。 如果您有任何問題,請在 Twitter 或開發人員社群 (英文) 上與我們連絡。
祝各位程式撰寫愉快!
Visual Studio 小組