愛伊米

宇宙第一 IDE 釋出新版了

轉自:cnBeta

前言

Visual Studio 2022 正式版於釋出。新版本帶有 go-live 許可證,可供生產使用。在 Visual Studio 2019 的基礎上,新版整合開發壞境提供了非常多的改進,包括對 64 位、。NET 6 和 C++ 20 的支援,為核心偵錯程式提供更好的效能,並在實時共享會話中支援文字聊天。

釋出活動:https://visualstudio。microsoft。com/zh-hans/launch/

下載地址:https://visualstudio。microsoft。com/zh-hans/downloads/

Visual Studio 2022 的主要功能:

宇宙第一 IDE 釋出新版了

宇宙第一 IDE 釋出新版了

64 位

devenv。exe 現在只有 64 位

Azure Cloud Services

現已支援 Azure Cloud Service (classic) 和 Azure Cloud Service (extended support) 專案

C++

v143 構建工具現在可以透過 Visual Studio 安裝程式以及獨立的構建工具使用。

當在偵錯程式下執行時,新的熱重新載入體驗現在可用於本地 C++ 應用程式。它同時支援 MSBuild 和 CMake 專案。更多資訊請看“熱過載”部分。

你現在可以在 WSL2 上本地構建和除錯,而無需建立 SSH 連線。跨平臺的 CMake 專案和基於 MSBuild 的 Linux 專案都被支援。

Visual Studio 現在支援 CMakePresets。json 中的 buildPresets。target 選項。這允許你在你的 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++ 智慧感應進行了改進。

透過最佳化快取頭的使用和符號資料庫的訪問,改進了 C++ 智慧感應的效能,提供了改進的載入時間以進入你的程式碼。

適用於 C++ 的 IntelliSense Code Linter 現在是預設開啟的,提供即時的 as-you-type 建議和常見程式碼缺陷的修復建議。

在開關-fsanitize=fuzzer 下支援 libfuzzer。更多細節見文件。

我們改進了程式碼分析工具中的空指標解除引用檢測。

程式碼分析現在強制要求必須檢查帶有Check_return或Must_inspect_result註釋的函式的返回值。

在程式碼分析中添加了對 gsl::not_null 的支援。

在 C++ 移動開發的工作量中更新到 NDK r21 LTS。

C++ AMP 標頭檔案現在已被廢棄。在 C++ 專案中包含會產生構建錯誤。要消除這些錯誤,請定義_SILENCE_AMP_DEPRECATION_WARNINGS。請參閱AMP 棄用連結以瞭解更多細節。

除錯和診斷

附加到程序對話方塊的改進

異常幫助器的改進

強制執行點選

記憶體轉儲的診斷分析

微軟釋出了一種新的斷點型別,叫做依賴性斷點,它允許你配置一個斷點,使其只在另一個斷點被首先擊中時才被啟用。

為 Extrenal Sources 節點添加了更多的更新,現在你可以在子節點“無源模組”下看到模組,並以 Solution explorer 本身的形式載入符號。

破解點溝槽的改進

臨時斷點

拖放斷點

解決方案資源管理器中的外部源節點

附加到流程對話方塊的改進

個性化設計

為垂直和水平標籤新增顏色標籤

增加了主題包,並與 VS Code 主題作者合作,推出了自定義主題集合

建立了主題轉換器,將 VS Code 主題轉換到 Visual Studio 2022 中使用。

增加了將 Visual Studio 主題與Windows主題同步的功能

增加了新的文件管理功能,包括自定義標籤寬度,加粗活動文件,以及 docwell 中額外的關閉按鈕。

編輯器

增加了子詞導航功能

自動儲存現在可以作為一個預覽功能使用

多鍵複製/貼上體驗

可擴充套件性

從 Microsoft。VisualStudio。Language。Client 程式集中刪除了 API

VSSDK包含幾個突破性的變化,Visual Studio 2019 的擴充套件在 2022 年將無法使用。更多資訊請參見VSSDK 文件。

VS SDK 參考程式集不再被安裝到 VSSDK\VisualStudioIntegration\Common\Assemblies 資料夾中。如果您的構建依賴於這些程式集,請將您的專案遷移到使用 NuGet 包來代替。對於離線的情況。

保留一個 org 內的 nuget feed,從那裡恢復 nuget 包。

檢查安裝檔案。

增加了 ILanguageClient 的突破性變化修復

雲服務

Azurite將被用於 Azure Storage 的本地模擬,而不是舊的、不再積極開發的 Azure Storage 模擬器。

Git 工具

對任何跨越不同儲存庫的解決方案(即在不同 Git 儲存庫中託管專案的解決方案)的預覽標誌下的多儲存庫支援

在建立 git 倉庫的過程中,現在完全支援釋出到Azure DevOps。

狀態列的增強,包括從空 VS 檢視和開啟倉庫的新功能,並顯示未拉動提交的數量

Git Changes 視窗的溢位選單現在可用於僅有本地倉庫的額外 git 操作

統一的 Diff 工具欄,包含新增/刪除的行數和可發現的配置選項

提交細節的改進,包括一個更靈敏和使用者友好的使用者介面

幫助選單

在 17。0 版本中,我們重新設計了幫助選單,包括入門材料和有用的提示/技巧。

透過新增諸如訪問開發者社群、發行說明、Visual Studio 產品路線圖和我們的社交媒體頁面,提供了與我們開發團隊的更多合作。

熱過載體驗

熱過載現在可以透過 Visual Studio 偵錯程式向 。NET 開發人員提供,對於許多 。NET 6 應用程式型別,不需要偵錯程式。

在使用 Visual Studio 偵錯程式時,熱過載現在可供 C++ 開發人員使用。

IntelliCode

整行補全可以根據你當前的上下文預測你的下一段 C# 程式碼,並在你的游標右邊以內聯建議的形式呈現。

整行補全現在與 JetBrains ReSharper 的最新版本相容。請注意,不支援基於 ReSharpers 自定義補全列表專案選擇的行補全上下文的更新——如果需要,ReSharper 使用者可以選擇使用 Visual Studio 本地 IntelliSense 來代替,如這裡的文件所示

JavaScript/TypeScript

微軟已經發布了一個新的 JavaScript/TypeScript 專案型別,它可以用額外的工具構建獨立的 JavaScript/TypeScript 專案。你將能夠在 Visual Studio 中使用你電腦上安裝的框架版本建立 Angular 和 React 專案。

JavaScript 和 TypeScript 測試現在可以在 Visual Studio Test Explorer 中進行。

NPM GUI 可用,所以你現在可以像下載 Nuget 包一樣下載 NPM 模組了

.NET 6 SDK

。NET 6 SDK 已包含在 Visual Studio 2022 中。

.NET 生產力

引入引數重構可以將一個新的引數從方法實現轉移到其呼叫者。

用於資料流分析的跟蹤值源

可以選擇在被重新分配的變數下劃線

在生成覆蓋物對話方塊中增加了搜尋選項

XML標籤的快速資訊現在可以保留空白和 CDATA 塊

查詢所有引用視窗現在可以對多目標專案進行分組

重構以刪除 Visual Basic 中重複的型別

轉到實現將不再導航到具有抽象宣告的成員,這些成員也被重寫了。

從 Solution Explorer 中同步名稱空間以匹配您的資料夾結構

從 Solution Explorer 中配置後臺程式碼分析

對於新的 。NET 專案,現在預設啟用了 Nullable 引用型別。

C# 10。0 檔案範圍的名稱空間重構

現在預設情況下,導航到反編譯的原始碼是開啟的。

重構為優先於型別檢查的空值檢查

當一個方法明確丟擲異常時,XML 註釋現在會自動生成一個標籤

繼承保證金現在是預設啟用的。

程式語言

C#10

Razor (ASP.NET Core) 編輯器

減少了使用者介面的凍結,提高了解決方案啟動時的效能

在一些解決方案中,語義著色速度加快,達到 2 倍。

在 Razor 檔案中支援 F7(檢視程式碼)。

Razor 檔案中的片段支援,將透過一個標籤完成片段會話,而不是按標籤-標籤。

當有巢狀的 HTML 和 Razor 元件時,在@code 塊中有更好的格式化。

在 Razor 檔案中支援熱重新載入

效能改進

格式化和縮排的改進

新的 Razor 編輯器顏色

TagHelpers 現在是彩色的,支援快速資訊分類和完成工具提示

Razor 結構的角括號突出顯示和導航

評論現在具有自動完成、智慧縮排、自動包含評論的延續和塊狀評論導航功能

遠端測試

非常早期的實驗性預覽,能夠在遠端環境中執行測試,如 linux 容器、WSL 和透過 SSH 連線。

測試工具支援

在測試資源管理器中顯示

從 17。0 開始的測試平臺的新版本將不能執行通用測試和有序測試。這些特定的功能只作為 MSTestv1 早期版本的一部分,不包括在 MSTestv2 中。我們看到這些功能的使用率非常低,而且有序測試現在被認為是與最佳測試實踐相違背的。

在 17。0 中,一些測試經驗將不可用,包括建立新的 TestSettings 檔案和 TestSettings 編輯器。測試執行將仍然能夠使用 TestSettings 檔案,然而 TestSettings 被 RunSettings 所取代,我們鼓勵使用者遷移改善效能和功能。閱讀更多。

Web 負載測試和Coded 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。有關配置更新渠道的其他資訊,請參考 Update Visual Studio 文件。關於使其適用於網路佈局的其他資訊,請參閱《Visual Studio 管理員指南》。

IT 管理員現在可以在沒有安裝 Visual Studio 的情況下報告問題。

使用者介面

預設圖示已被更新和重新整理。

網路工具

釋出摘要頁面現在有啟動/停止遠端除錯和分析的操作,在“託管”部分的右上角的“。。。”選單下。

連線的服務“頁面現在有一個動作來啟動儲存資源管理器

。NET 6 附帶的”ASP。NET Core Empty“模板正在使用新的”最小 API“正規化,我們已經開始為其新增支援。

Azurite 將被用於 Azure Storage 的本地模擬,而不是舊的、不再積極開發的 Azure Storage 模擬器。

你可以透過 Visual Studio 中的”連線服務“體驗,使用微軟身份認證平臺為你的 ASP。NET Core 應用程式新增認證。

.NET 框架的 WPF XAML 設計器

當前的 WPF XAML Designer for 。NET Framework 被一個新的 WPF XAML Designer for 。NET Framework 所取代,它基於用於 WPF XAML Designer for 。NET(。NET Core)的相同架構。

Visual Studio 的體驗將看起來是一樣的,但第三方控制元件供應商需要支援新的可擴充套件性模型,因為以前基於 。design。dll 和 Microsoft。Windows。Design。Extensibility 的模型已經被廢棄。

如果你已經為 。NET(。NET Core)建立了一個 。designtools。dll 擴充套件,同樣的擴充套件將適用於新的 WPF XAML Designer for 。NET Framework。關於如何遷移到新的可擴充套件性模型的進一步資訊,請參考下面的遷移文件。

XAML 熱過載

XAML Hot Reload 的變化——對應用內的工具欄和設定的微小變化

XAML 實時預覽

XAML 樣本資料

當在 WPF 應用程式中從工具箱中建立 DataGrid、ListBox 和 ListView 控制元件時,設計時示例資料現在將被預設新增。要禁用這種行為,請取消勾選”在元素建立時自動新增樣本資料“,在工具->選項->XAML 設計器下。

要了解更多關於樣本資料的資訊,請訪問樣本資料文件。

改進的 XAML 繫結體驗

微軟做了很多改進,使資料繫結變得快速和簡單,比如從屬性檢查器快速訪問資料繫結對話方塊,能夠從快速操作中設定繫結,能夠在資料繫結對話方塊中選擇要繫結的屬性。

- EOF -