微軟發布 Visual Studio 2022 並進行多項新改進
12分鐘讀
更新了
讀者幫助支持 MSpoweruser。如果您透過我們的連結購買,我們可能會獲得佣金。
請閱讀我們的揭露頁面,了解如何幫助 MSPoweruser 維持編輯團隊的發展 阅读更多
微軟今天宣布 Visual Studio 2022 全面上市。此 GA 版本的 Visual Studio 2022 附帶上線許可證,用於生產使用。
Visual Studio 2022 的主要功能:
64-位
- devenv.exe 現在只有 64 位
Azure 雲服務
- 現在支持 Azure 雲服務(經典)和 Azure 雲服務(擴展支持)項目。
- v143 構建工具現在可通過 Visual Studio 安裝程序以及 獨立的構建工具.
- 在調試器下運行時,本機 C++ 應用程序現在可以使用新的熱重載體驗。 它支持 MSBuild 和 CMake 項目。 有關更多信息,請參閱我們的 熱重載部分 。
- 您現在可以在 WSL2 上本地構建和調試,而無需建立 SSH 連接。 支持跨平台 CMake 項目和基於 MSBuild 的 Linux 項目。
- Visual Studio 現在支持
buildPresets.targets
CMakePresets.json 中的選項。 這允許您在 CMake 項目中構建目標子集。- CMake 項目中的項目菜單已經過簡化,並提供了“刪除緩存和重新配置”和“查看緩存”選項。
- CMake 概述頁面已更新以支持 CMakePresets.json。
- 實施
/scanDependencies
用於輸出 CMake 項目的 C++20 模塊依賴項的標誌,如中所述 P1689r3. 這是支持使用 CMake 構建基於模塊的項目的一步,我們正在努力在以後的版本中完成此支持。- 您現在可以使用 LLDB 從 Visual Studio 調試在遠程系統上運行的進程。
- 我們已將 Visual Studio 附帶的 CMake 版本升級到 3.21 版。 見 CMake 3.21 發行說明 有關可用內容的詳細信息。
- Visual Studio 附帶的 LLVM 工具已升級到 LLVM 12。請參閱 LLVM 發行說明 有關詳細信息。
- MSVC 工具集現在默認為 SHA-256 調試記錄中的源哈希. 以前,該工具集默認使用 MD5 進行源散列。
- 使用 C++ 工作負載的遊戲開發現在安裝了支持 Visual Studio 2022 的最新虛幻引擎。
- 在為導入的模塊和標題單元的類型提供導航和語法突出顯示時,改進了 C++ IntelliSense。
- 通過優化緩存的標頭使用和符號數據庫訪問來改進 C++ IntelliSense 性能,提供更短的加載時間以進入您的代碼。
- C++ 的 IntelliSense Code Linter 現在默認開啟,提供即時的鍵入建議並修復常見代碼缺陷的建議。
- 交換機下對libfuzzer的支持
-fsanitize=fuzzer
。 看 文件 閲讀更多的細節。- 我們在代碼分析工具中改進了空指針取消引用檢測。
- 代碼分析現在強制使用註釋的函數的返回值
_Check_return_
or_Must_inspect_result_
必須檢查。- 增加了對支持
gsl::not_null
進行代碼分析。- 在 C++ 移動開發工作負載中更新到 NDK r21 LTS。
- 現在不推薦使用 C++ AMP 標頭。 包括在 C++ 項目中會產生構建錯誤。 要使錯誤靜音,請定義
_SILENCE_AMP_DEPRECATION_WARNINGS
。 Please see請參閱 我們的 AMP 棄用鏈接 閲讀更多的細節。
- 附加到進程對話框改進
- 異常助手改進
- 強制運行以單擊
- 內存轉儲診斷分析
- 我們發布了一種名為 Dependent Breakpoint 的新型斷點,它允許您將斷點配置為僅在第一次命中另一個斷點時才啟用。
- 我們為 Extrenal Sources 節點添加了更多更新,您現在可以在子節點“Modules without Sources”下看到模塊,並從解決方案資源管理器本身加載符號。
- 斷點間距改進
- 臨時斷點
- 拖放斷點
- 解決方案資源管理器中的外部源節點
- 附加到進程對話框改進
個人化定制服務
- 為垂直和水平選項卡添加了顏色選項卡
- 添加了主題包並與 VS Code 主題作者合作推出 自定義主題集合
- 內置 主題轉換器 將 VS Code 主題轉換為在 Visual Studio 2022 中工作
- 添加了將 Visual Studio 主題與 Windows 主題同步的功能
- 添加了新的文檔管理功能,包括自定義標籤寬度、加粗活動文檔以及 docwell 中的附加關閉按鈕。
- 添加了子詞導航
- 自動保存現在可作為預覽功能使用
- 多插入符號複製/粘貼體驗
- 從 Microsoft.VisualStudio.Language.Client 程序集中刪除 API
- VS SDK 包含幾個重大更改,Visual Studio 2019 擴展在 2022 年將無法使用。請參閱 VSSDK 文檔 獲取更多訊息
- VS SDK 參考程序集不再安裝到
VSSDK\VisualStudioIntegration\Common\Assemblies
文件夾。 如果您的構建依賴於這些程序集,請遷移您的項目以改用 NuGet 包。 對於離線場景:
- 保留一個組織內的 nuget 提要,從中恢復 nuget 包。
- 檢查二進製文件。
- 添加了 ILanguageClient 重大更改修復
雲計算服務
- 石青 將用於 Azure 存儲的本地模擬,而不是舊的且不再積極開發的 Azure 存儲模擬器。
Git 工具
- 多倉庫支持 在預覽標誌下 適用於跨越不同存儲庫的任何解決方案(即項目託管在不同 Git 存儲庫中的解決方案)
- 發佈到 Azure DevOps 現在完全支持創建 git 存儲庫體驗
- 狀態欄增強功能包括 從空 VS 查看和打開存儲庫的新功能 和 顯示未拉取提交的計數
- Git Changes 窗口上的溢出菜單現在可用於具有其他 git 操作的僅限本地存儲庫
- 包含添加/刪除行數和可發現配置選項的統一差異工具欄
- 提交詳細信息增強功能,包括響應速度更快且用戶友好的 UI
幫助菜單
- 在 17.0 期間,我們使用入門材料和有用的提示/技巧對幫助菜單進行了改造。
- 通過添加諸如訪問開發人員社區、發行說明、Visual Studio 產品路線圖和我們的社交媒體頁面等內容,與我們的開發團隊進行更多協作。
- .NET 開發人員現在可以通過 Visual Studio 調試器使用熱重載,而無需針對許多 .NET 6 應用程序類型的調試器
- 使用 Visual Studio 調試器時,C++ 開發人員現在可以使用熱重載
有關更多詳細信息,請參閱上面的鏈接
智能代碼
- 整線完成 根據您當前的上下文預測您的下一段 C# 代碼,並將其顯示為光標右側的內聯建議。
- 整線完成 現在 與最新版本的 JetBrains ReSharper 兼容. 請注意,不支持根據 ReSharpers 自定義完成列表項選擇更新行完成上下文 - 如果需要,ReSharper 用戶可以選擇使用 Visual Studio 原生 IntelliSense,如文檔所述 点击這裡
JavaScript/打字稿
- 我們發布了一種新的 JavaScript/TypeScript 項目類型,它使用附加工具構建獨立的 JavaScript/TypeScript 項目。 您將能夠使用計算機上安裝的框架版本在 Visual Studio 中創建 Angular 和 React 項目。
- JavaScript 和 TypeScript 測試現在可在 Visual Studio 測試資源管理器中使用
- NPM GUI 可用,因此您現在可以像下載 Nuget 包一樣下載 NPM 模塊
.NET 6 開發工具包
- .NET 6 SDK 包含在 Visual Studio 2022 中
- 引入參數重構可以將新參數從方法實現移動到其調用者。
- 跟踪數據流分析的價值源
- 為重新分配的變量加下劃線的選項
- 在“生成覆蓋”對話框中添加了搜索選項
- XML tags now preserve whitespace and CDATA blocks
- Find All References 窗口現在將對多目標項目進行分組
- 重構以刪除 Visual Basic 中的重複類型
- Go to Implementation 將不再導航到具有同樣被覆蓋的抽象聲明的成員。
- 從解決方案資源管理器同步命名空間以匹配您的文件夾結構
- 從解決方案資源管理器配置後台代碼分析
- 現在默認為新的 .NET 項目啟用可空引用類型
- C# 10.0 文件範圍的命名空間重構
- 導航到反編譯的源現在默認開啟
- 重構以更喜歡空檢查而不是類型檢查
- XML 註釋現在將自動生成一個
<exception>
當方法顯式拋出異常時標記- 現在默認啟用繼承保證金
- C#10
- 減少 UI 凍結並提高解決方案啟動時的性能
- 在某些解決方案中,語義著色速度提高了 2 倍
- Razor 文件中的 F7(查看代碼)支持
- razor 文件中的代碼段支持,它將使用單個選項卡完成代碼段會話,而不是按 tab-tab
- 當有嵌套的 HTML 和 Razor 組件時,@code 塊中的格式更好
- Razor 文件中的熱重載支持
- 性能改進
- 格式和縮進增強
- 新的 Razor 編輯器顏色
- TagHelpers 現在已著色並具有快速信息分類支持和完成工具提示
- Razor 構造的角撐高亮和導航
- 評論現在具有自動完成、智能縮進、自動包含評論延續和塊評論導航
- 很 在遠程環境(如 linux 容器、WSL 和 SSH 連接)上啟用運行測試的早期實驗預覽。
- 在測試資源管理器中顯示
- 從 17.0 開始的新版本測試平台將無法運行通用測試和有序測試。 這些特定功能僅作為 MSTestv1 早期版本的一部分提供,不包含在 MSTestv2 中。 我們看到這些功能的使用率非常低,並且現在認為有序測試與最佳測試實踐背道而馳。
- 一些測試體驗在 17.0 中將不可用,包括創建新的 TestSettings 文件和 TestSettings 編輯器。 測試運行仍將能夠使用 TestSettings 文件,但 TestSettings 已替換為 RunSettings,我們鼓勵用戶遷移改進的性能和功能。 阅读更多.
- Web 負載測試和編碼的 UI 測試支持更新。 編碼的 UI 測試 和 [Web 負載測試](基於雲的負載測試服務生命週期結束 | Azure DevOps 博客 (microsoft.com) 已於 2019 年正式棄用。為了盡量減少對用戶的影響,Visual Studio 2022 中對這些功能的支持最少。我們強烈鼓勵用戶放棄 Coded UI Test 和 Web Load Test。
UWP 擴展 SDK 的工具箱填充
- UWP 擴展 SDK 現在需要通過在它們的 SdkManifest.xml 文件. 舊版本 Visual Studio 的行為沒有改變; 他們將忽略清單中的控件列表,而是動態枚舉 SDK 程序集中的控件類型。
- 我們改進了“信任設置”功能,現在可以在即將在 IDE 中打開不受信任的代碼(例如文件、項目或文件夾)時顯示警告。
- 信任檢查現在在解決方案文件夾級別完成
- 用戶創建的項目會自動添加到受信任列表中
- 用戶可以跳過對 Visual Studio 創建的臨時位置的信任檢查
更新、LTSC 和部署
- 使用 Visual Studio 2022,將同時支持多個服務基線,這些基線將在秋季和春季發布。 有關詳細信息,請參閱 Visual Studio 發布節奏文檔 和 Visual Studio 2022 產品生命週期.
- Visual Studio 2022 附帶的新安裝程序現在能夠配置 Visual Studio 產品應從何處獲取更新。 這允許您從不同的 LTSC 中選擇更新,或者,如果您處於託管企業環境中,您可以配置客戶端以從佈局中獲取其更新。 配置更新源的能力是 Visual Studio 安裝程序附帶的新功能,因此該行為也適用於 Visual Studio 的低級版本,例如 Visual Studio 2019。有關配置更新通道的更多信息,請參閱這 更新 Visual Studio 文檔。 有關使這項工作適用於網絡佈局的更多信息,請參閱 Visual Studio 管理員指南.
- IT 管理員現在可以報告問題 沒有安裝 Visual Studio。
- 默認圖標已更新和刷新。
Web工具
- 發布摘要頁面現在具有在“託管”部分右上角的“...”菜單下啟動/停止遠程調試和分析的操作
- 連接的服務頁面現在具有啟動存儲資源管理器的操作
- .NET 6 附帶的“ASP.NET Core Empty”模板使用了新的 “最少的 API” 我們已經開始添加支持的範例
- 石青 將用於 Azure 存儲的本地模擬,而不是舊的且不再積極開發的 Azure 存儲模擬器。
- 您可以使用向 ASP.NET Core 應用程序添加身份驗證 微軟身份平台 通過 Visual Studio 中的連接服務體驗。
.NET Framework 的 WPF XAML 設計器
- 當前用於 .NET Framework 的 WPF XAML 設計器已替換為用於 .NET Framework 的新 WPF XAML 設計器,該設計器基於用於 .NET 的 WPF XAML 設計器 (.NET Core) 的相同體系結構。 Visual Studio 的體驗看起來是一樣的,但是第三方控件供應商需要支持新的可擴展性模型,因為之前的模型基於
.design.dll
和Microsoft.Windows.Design.Extensibility
已棄用。 如果您已經創建了一個.designtools.dll
.NET (.NET Core) 的擴展,相同的擴展將適用於 .NET Framework 的新 WPF XAML 設計器。 請參考 移民文件 下面是有關如何遷移到新的可擴展性模型的更多信息。
- XAML 熱重載更改 – 對應用內工具欄和設置的微小更改
- XAML 實時預覽現在可供 WPF、UWP、WinUI 和 Xamarin.Forms 開發人員在 Android Emulator 或作為 UWP 桌面應用程序中運行其應用程序。 Live Preview 捕獲正在運行的應用程序用戶界面並將其帶入 Visual Studio 中的停靠窗口。 這使得使用 XAML Hot Reload 更改應用程序變得更容易,同時在 Visual Studio 本身中查看這些更改,而無需在運行的應用程序和 Visual Studio 之間來回切換,同時進行實時 XAML 代碼更改。
有關更多信息,請單擊上面的鏈接。
XAML 示例數據
- 現在,在 WPF 應用程序的工具箱中創建 DataGrid、ListBox 和 ListView 控件時,將默認添加設計時示例數據。 要禁用此行為,請取消選中工具 -> 選項 -> XAML 設計器下的“在元素創建時自動添加示例數據”。”
- 要了解有關示例數據的更多信息,請訪問 示例數據文檔.
- 我們進行了一系列改進以使數據綁定變得快速和簡單,例如從屬性檢查器快速訪問數據綁定對話框、從快速操作設置綁定的能力、在數據綁定對話框中選擇要綁定到的屬性的能力.
有關更多信息,請單擊上面的鏈接。
資源: Microsoft微軟