共用方式為


2022Logo Visual Studio 2022 版本 17.8 版本資訊


提示

觀看 Visual Studio 2022 上市活動的錄製內容以了解新功能、聆聽提示及技巧,以及下載免費的數位 Swag。

開發人員社群| Visual Studio 2022 藍圖| 系統需求| 相容性| 可散發程式碼| 版本歷程記錄| 授權條款| 部落格| 最新版已知問題| Visual Studio Docs 的新功能


按一下按鈕以下載最新版的 Visual Studio 2022。 如需安裝和更新 Visual Studio 2022 的指示,請參閱將 Visual Studio 2022 更新至最新版本。 此外,請參閱如何離線安裝上的指示。

下載 Community 按鈕下載 Professional 按鈕下載 Enterprise 按鈕

若要下載其他 Visual Studio 2022 產品,請造訪 Visual Studio 網站。


Visual Studio 2022 17.8 版發行版本

Visual Studio 2022 部落格

Visual Studio 2022 部落格是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2022 版本的深入資訊:


17.8.14 Visual Studio 2022 17.8.14 版

2024 年 9 月 10 日發行

本版新功能

  • 正在更新與 Microsoft Store 互動時所使用的驗證方法。

開發人員社群

已解決的資安漏洞諮詢通告

CVE-2024-35272 SQL Server Native Client OLE DB 提供者遠端程式碼執行弱點


17.8.13 Visual Studio 2022 17.8.13 版

發行日期:2024 年 8 月 13 日

此版本新功能的摘要

  • 在累加連結期間減少 ILK 檔案大小。

已解決的資安漏洞諮詢通告

  • CVE-2024-38167 .NET 執行階段 TlsStream 存在可能導致資訊洩漏的弱點。
  • CVE-2024-38168 .NET 中存在弱點,攻擊者透過未經驗證的要求可能會觸發 ASP.NET HTTP.sys 網頁伺服器的阻斷服務。 這是僅限 Windows OS 的弱點。

17.8.12 Visual Studio 2022 版本 17.8.12

2024 年 7 月 9 日發行

此版本新功能的摘要

  • 將 MinGit 更新為 v2.45.2.1,此版本包含 GCM 2.5,可解決先前 GCM 版本的問題:複製之後就向 Git 回報錯誤,使得複製作業似乎失敗一樣。

已解決的資安漏洞諮詢通告

  • CVE-2024-38081 Windows 作業系統上 Visual Studio 安裝程式存在弱點:允許非特殊權限使用者操作 Visual Studio 安裝,導致權限提高。
  • CVE-2024-30105 .NET 中存在弱點:使用 System.Text.Json 針對不受信任的輸入呼叫 JsonSerializer.DeserializeAsyncEnumerable 方法時,可能導致 [拒絕服務]。
  • CVE-2024-38095 .NET 中 System.Formats.Asn1 剖析 X.509 憑證或憑證集合時存在弱點:惡意憑證可能會造成所有平台的 CPU 過度使用,導致 [拒絕服務]。
  • CVE-2024-35264 ASP.NET Core 8 中存在弱點:Kestrel HTTP/3 中的資料損毀可能導致遠端程式碼執行。

17.8.11 Visual Studio 2022 版本 17.8.11

2024 年 6 月 11 日發行

此版本新功能的摘要

  • 升級到 Windows 的 Germanium 組建之後,WSL 需要手動升級。 這可能會導致 Visual Studio 在開啟 CMake 專案時停止回應。
  • 已修正 PDB 讀取程式碼中的錯誤,以忽略某些 FASTLINK PDB 的預期失敗。

開發人員社群

已解決的資安漏洞諮詢通告

  • CVE-2024-30052 在偵錯包含具有適當副檔名的惡意檔案的傾印檔時會發生「遠端程式碼執行」攻擊
  • CVE-2024-29060 受影響的 Visual Studio 安裝執行中的權限提高
  • CVE-2024-29187 以 SYSTEM 身分執行時,基於 WiX 的安裝程式易受到二進位檔劫持的威脅

17.8.10 Visual Studio 2022 版本 17.8.10

2024 年 5 月 14 日發行

此版本新功能的摘要

  • “Xamarin” 和 “Xamarin Profiler”安裝程式元件已標示為「不支援」。
  • 修正 VS 偵錯工具中未正確顯示的資料結構: Concurrency::concurrent_unordered_set, Concurrency::concurrent_unordered_multiset, Concurrency::concurrent_unordered_map, Concurrency::concurrent_unordered_multimap。
  • 修正 arm64 上的呼叫慣例錯誤,其中呼叫端和被呼叫者不同意在何處尋找大於 16 個位元組的溢出對齊依值參數。
  • 此版本也包含 v3.2.1 的 OpenSSL 更新

開發人員社群

已解決的資安漏洞諮詢通告

  • CVE-2024-32002 支援符號連結之不區分大小寫檔案系統上的遞迴複製品容易受到遠端程式碼執行的影響。
  • CVE-2024-32004 遠端程式碼執行的同時複製特殊製作的本機存放庫
  • CVE-2024-30045 .NET 7.0 和 .NET 8.0 中存在遠端程式碼執行弱點,其中堆疊緩衝區溢位發生在 .NET Double Parse 常式中。
  • CVE-2024-30046 弱點存在於Microsoft.AspNetCore.Server.Kestrel.Core.dll,其中可能會發生導致拒絕服務的死結。

17.8.9 Visual Studio 2022 版本 17.8.9

2024 年 4 月 9 日發行

此 Visual Studio 2022 17.8.9 版的發行版本的新功能摘要

  • 透過此錯誤修正,用戶端現在可以在配置中使用啟動載入器並傳入 --noWeb 參數以在用戶端電腦上安裝,並確保僅從配置下載安裝程式和 Visual Studio 產品。 先前,有時在安裝過程中,安裝程式不會考慮 -noWeb 參數,而且會嘗試從網路進行自我更新。

已解決的資安漏洞諮詢通告

  • CVE-2024-21409 WPF 中存在釋放後使用弱點,在檢視不受信任的文件時可能會導致權限提升。
  • CVE-2024-28929 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28930 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28931 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28932 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28933 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28934 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28935 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28936 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28937 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28938 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28941 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28943 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-29043 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。

17.8.8 Visual Studio 2022 版本 17.8.8

發行於 2024 年 3 月 12 日

Visual Studio 2022 17.8.8 版發行版本的新功能摘要

  • 修正有關 Window 舊版配置器的 Address Sanitizer 誤判,以及啟動時的競爭條件,取決於載入 Address Sanitizer dll 的時間。
  • 已修正來防止 std::round() 函式內嵌擴充中的純量記憶體負載變更為向量存取。 雖然向量存取不會變更計算的結果,但當純量負載成功時會變得較長且可能會發生錯誤。
  • 修正了靜態連結時所使用 libconcrt.lib 可能包含舊版 X64 系統上不合法 SSE 4.2 指令的錯誤。

開發人員社群

已解決的資安漏洞諮詢通告

  • CVE-2024-21392 .NET 中有一個弱點,其中特製的要求可能會導致資源流失,進而導致拒絕服務。
  • CVE-2024-26190 MsQuic.dll 中存在弱點,這可能會導致同儕節點在連線保持運作時配置小型記憶體區塊。
  • CVE-2023-27911 此諮詢正在重新發佈,表示 Visual Studio 2022 不再支援 Autodesk® FBX® SDK。

17.8.7 Visual Studio 2022 版本 17.8.7

發行於 2024 年 2 月 13 日

Visual Studio 2022 17.8.7 版發行版本的新功能摘要

  • Visual Studio 能夠在 SYSTEM 帳戶下執行表單。
  • 將 .NET MAUI 更新為 8.0.6 SR1。

開發人員社群

已解決安全性諮詢

  • CVE-2024-0057 當 Microsoft .NET Framework 型應用程式使用 X.509 鏈結建置 API 但由於邏輯缺陷而未完全驗證 X.509 憑證時,安全性功能會略過弱點。
  • CVE-2024-21386 使用 Azure SignalR Service 的 ASP.NET 應用程式中存在弱點,惡意用戶端可能會導致拒絕服務。
  • CVE-2024-21404 剖析 X509 憑證時,.NET 中存取 OpenSSL 支援的拒絕服務弱點。

17.8.6 Visual Studio 2022 版本 17.8.6

發行於 2024 年 1 月 30 日

Visual Studio 2022 17.8.6 版發行版本的新功能摘要

開發人員社群


17.8.5 Visual Studio 2022 版本 17.8.5

發行於 2024 年 1 月 17 日

Visual Studio 2022 17.8.5 版發行版本的新功能摘要

  • 新增 Xcode 15.1 支援和 API 修正,如需完整的版本資訊,請造訪我們的 macios 發行版本頁面
  • 修正了某些客戶在變更 Razor 專案的目標 Framework 之後,無法看到後續所新增元件的問題。
  • 已修正 [偵錯並附加至處理程序] 對話方塊啟動期間當機的問題。
  • 修正在 [設定設計工具] 中變更存取修飾詞時當機的問題。

開發人員社群


17.8.4 Visual Studio 2022 版本 17.8.4

發行於 2024 年 1 月 9 日

Visual Studio 2022 17.8.4 版發行版本的新功能摘要

開發人員社群

已解決安全性諮詢

  • CVE-2024-20656 VSStandardCollectorService150 服務中存在弱點,在其中本地攻擊者可以在執行受影響 Microsoft Visual Studio 安裝的主機上提升權限。
  • CVE-2023-32027 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32025 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32026 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-29356 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32028 重新發佈此公告是為了解決 Visual Studio 中 Microsoft SQL OLE DB 遠端程式碼執行弱點問題。
  • CVE-2023-29349 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC 和 OLE DB 遠端程式碼執行弱點問題。
  • CVE-2024-0057 當 Microsoft .NET Framework 型應用程式使用 X.509 鏈結建置 API 但由於邏輯缺陷而未完全驗證 X.509 憑證時,安全性功能會略過弱點。
  • CVE-2024-0056 MICROSOFT.Data.SqlClient 和 System.Data.SqlClient SQL 資料提供者中存在弱點,攻擊者可以在 SQL 用戶端與 SQL 伺服器之間執行攔截攻擊 (有時稱為 MITM 或中間人攻擊)。
  • CVE-2024-21319 Microsoft 發行此資訊安全諮詢的目的,是提供 ASP.NET Core 專案範本中有關弱點的資訊。

17.8.3 Visual Studio 2022 版本 17.8.3

發行於 2023 年 12 月 5 日

Visual Studio 2022 17.8.3 版發行版本的新功能摘要

  • 已修正作為連結檔案或從共用專案使用 Razor 檔案的專案問題。

開發人員社群

已知問題

  • 從 Delinea 安裝權限管理軟體的使用者可能會遇到啟動 Visual Studio 的問題。 Delinea 知道此問題並已加以解決。 請透過 https://delinea.com/support 連絡他們,以取得如何解決此問題的指示。」

17.8.2 Visual Studio 2022 版本 17.8.2

2023 年 11 月 28 日發行

Visual Studio 2022 17.8.2 版發行版本的新功能摘要

  • 已修正在某些情況下,文件視窗在顯示載入訊息時可能會卡住的問題。
  • 在某些情況下 (當專案位於方案資料夾下時),您可能會在儲存專案時看到錯誤。 專案將會儲存,但您會看到無法轉換 COM 物件的錯誤。 此問題現在已修正,因此不再顯示錯誤。

開發人員社群


17.8.1 Visual Studio 2022 版本 17.8.1

2023 年 11 月 21 日發行

Visual Studio 2022 17.8.1 版發行版本的新功能摘要

  • IncrediBuild 的更新版本修正了使用標準建置功能表命令建置 CMake 專案時,預設會錯誤地重新導向組建以使用 IncrediBuild 的問題。

開發人員社群


17.8.0 Visual Studio 2022 版本 17.8.0

2023 年 11 月 14 日發行

Visual Studio 2022 17.8 版發行版本的新功能摘要

生產力功能

功能 社群建議
GitHub Copilot
大小寫保留尋找和取代 – 76 票
建立提取要求 – 293 票
摘要差異 – 7 票
多存放庫限制增加 – 8 票
GitHub 虛擬人偶已新增至 Git 存放庫視窗
遠端 Linux 單元測試支援
將全域函式設為靜態
排序 #include 指示詞
程式碼搜尋和瀏覽
Teams 工具組
Visual Studio 更新通知

C++ 和遊戲開發

功能 社群建議
Unreal Engine 程式碼片段
Unreal Engine 測試配接器
Build Insights 函式檢視 – 141 票
使成員函式成為 const 提示
大小和對齊提示

F# 改善

功能 社群建議
F#

偵錯和診斷

功能 社群建議
跨平台 Enc/熱重新載入偵錯支援
透過附加至處理序對 Linux App Services 進行偵錯
BenchmarkDotNet IDiagnosers
中斷點設定視窗的增強型佈景主題支援
透過計量 API 支援 .NET 計數器進行新檢測
使用 VS Profiler 測試分析
偵錯案例中的 .NET 計數器工具

Razor 工具

功能 社群建議
用於產生事件處理常式的程式碼動作
C# 程式碼的背景色彩

JavaScript 和 TypeScript 開發

功能 社群建議
新的 React TypeScript 與 ASP.NET 合併範本
開啟資料夾的 launch.json 支援

SQL

功能 社群建議
已將 Microsoft.Data.SQLClient (MDS) 從 3.0 版升級到 SQL Server Data Tools 中的 5.0 版

測試

功能 社群建議
新的 IntelliTest 現在處於預覽狀態

效能增強功能

功能 社群建議
改善的 Razor/Blazor 回應性
增強的 F5 速度
適用於 C++ Unreal Engine 的最佳化 IntelliSense
非 SDK 樣式 .NET 專案的建置加速

企業管理

功能 社群建議
已簡化 IT 系統管理員的用戶端初始化步驟

其他開發人員社群建議:您的問題,我們都聽到了!


生產力功能

GitHub Copilot

在最新版的 Visual Studio 中,使用 Visual Studio 提升生產力會變得更容易。 GitHub Copilot 自動完成現在可作為選擇性元件使用,可讓您更輕鬆地安裝新的 Visual Studio 安裝,或讓系統管理員使用更新進行封裝。 需要訂用帳戶才能啟用功能;免費試用可供使用

這裡提供元件詳細資料:Visual Studio Enterprise 工作負載和元件識別碼 | Microsoft Learn。

大小寫保留尋找和取代

當您執行 [取代] 時,您現在可以在程式碼中保留每個相符項目的原始大小寫。 請注意,若要取得 Pascal 大小寫和 Camel 大小寫,您的 Replace 字串必須是 Pascal 大小寫或 Camel 大小寫。

大小寫保留尋找和取代

使用 Alt+V 或按一下 [保留大小寫] 選項,在 [取代] 視窗中 切換大小寫保留。

快速取代 (Ctrl+H):

大小寫保留快速取代

檔案中取代 (Ctrl+Shift+H):

檔案中的大小寫保留取代

分享您在此開發人員社群票證上保留取代體驗案例的想法:跨多個檔案大小寫保留搜尋和取代

在 Visual Studio 中建立提取要求

除了使用瀏覽器,您可以在 Visual Studio 中建立提取要求。 使用 Markdown 編輯器搭配您的提取要求描述,可藉由按一下 [預覽] 按鈕來轉譯標頭、項目符號清單和其他 Markdown 語法。 透過 [預覽功能 > 提取要求] 啟用此功能。

使用 Markdown 並新增檢閱者來提取要求

我們已在預覽版本中逐一查看,以提供更佳的錯誤處理和改善的檢閱者體驗。 在這裡讓我們知道您對提取要求體驗的看法。

將檢閱者新增至您的提取要求

針對 Azure DevOps 和 GitHub,現在您可以在 Visual Studio 中將檢閱者新增至您的提取要求。

將檢閱者新增至提取要求

按一下推送時出現的 [建立提取要求] 連結,或從最上層功能表選取 [Git] > [GitHub] 或 [Azure DevOps] > [新增提取要求] 來試試看。 然後,瀏覽至 [檢閱者] 區段,並搜尋您想要新增的檢閱者。 我們計畫繼續進行更新以改善此提取要求體驗,因此請在這裡分享此功能的意見反應,並於開發人員社群中的建議票證與我們連絡。

我們也新增了更好的錯誤處理,並改善了檢閱者搜尋。 在這裡讓我們知道您對提取要求體驗的看法。

摘要差異

為了繼續努力改善 Visual Studio 中的差異體驗,我們已在差異和比較檢視中實作 [摘要] 檢視。 這個新選項可讓您只查看檔案中幾行內容的變更,這使得檢閱認可中的變更或兩個檔案之間的比較更有效率。

摘要差異

請在這裡分享您的意見反應,並與我們連絡開發人員社群中的建議票證,讓我們知道您對此功能的看法。

多個存放庫啟用設定和限制增加

在某些工作流程中,控制是否自動啟用多存放庫很重要。 使用新的設定,您就可以將焦點放在個別存放庫,而不會看到多存放庫 UI。 此外,我們已將您一次可以使用的存放庫數目增加到 25。

多重存放庫設定

GitHub 虛擬人偶已新增至 Git 存放庫視窗

在 [Git 存放庫] 視窗的多分支圖表中查看您的 GitHub 虛擬人偶。

GitHub 頭像

GitHub Actions 工具

我們已解決下列未預期的行為:方案總管中的新 GitHub Actions 節點針對未裝載於 GitHub.com 的存放庫出現。 新的節點現在應該只會針對 GitHub.com 上裝載的存放庫出現。 接下來,我們將要改善透過 [工具] > [選項] 關閉新節點的功能。

程式碼搜尋和瀏覽

由於我們一直致力於提升全方位搜尋體驗的效能和可靠性,因此也新增了一個狀態列,顯示所傳回每種結果的計數。

多合一式搜尋

Microsoft Teams Toolkit

在最新的 Visual Studio 2022 17.8 版中,我們引進了更多專案範本,以符合更多商務案例,並使入門更為簡單。 新的範本如下:

- 回應使用者輸入的 [Echo Bot] 範本。 - [連結展開] 範本,這是一種訊息延伸模組應用程式,可轉譯自適應卡片的 URL 連結。 - [自訂搜尋結果] 範本,這是訊息延伸模組應用程式的搜尋類型,可讓使用者直接搜尋和顯示來自聊天區域或搜尋列的結果。 - [從輸入收集及處理資料] 範本,這是訊息延伸模組應用程式的動作類型,其會取得使用者輸入、執行某些邏輯,然後將結果傳回給使用者。

我們也重新設計了 UI,讓您更輕鬆地在範本之間選取。我們會針對不同類型的範本新增篩選條件和標籤。

Teams 工具組範本 UI

Visual Studio 更新通知

注意到有一些新東西了嗎? 針對 Visual Studio 2022,我們已將重疊新增至 VS 工作列圖示,以協助您知道 VS 何時將更新。
當有更新可用,且您已啟用 [關閉時更新] 選項時,圖示即會出現。 一旦您關閉了 VS,更新就會立即啟動,因此圖示也會消失。 如需 [關閉時更新] 的詳細資訊,請造訪 VS 更新時關閉

更新

此外,我們已解決 Git SCC 提供者在開啟資料夾模式下繫結至非 Git 資料夾的問題,並防止其他提供者 (例如 VisualSVN) 運作。


C++ 和遊戲開發

  • 我們已新增使用者執行其遠端 Linux 單元測試的支援,從 Visual Studio 中的 [測試總管] 到透過連線管理員連線到的任何遠端 Linux 電腦

  • 已新增 [問題詳細資料] 視窗,用於瀏覽結構化診斷。 使用錯誤清單中項目上的 [詳細資料] 圖示將其開啟。

結構化診斷

  • 我們現在已實作選用 C11 執行緒程式庫的支援。 這包括執行緒、Mutex、條件變數,以及執行緒本機儲存體。
  • CMake 3.27 版現在隨附於 Visual Studio,搭配 C++ 工作負載進行桌面開發。
  • 您現在可以瀏覽至 CMake 目標檢視,方法是以滑鼠右鍵按一下方案總管中的任何位置,然後選取 [切換至 CMake 目標檢視]。

切換至 [CMake 目標檢視] 按鈕

  • 您現在也可以從 [檢視] 下拉式清單中選取 [CMake 目標檢視] 來存取此檢視。

CMake 目標檢視下拉式清單

  • CMake 目標檢視已簡化,以便若沒有可建置的可執行檔,使用者不必按一下資料夾,即可到達其所需的目標。
  • 您現在可以透過 [遠端檔案總管] 視窗,在 Visual Studio 中檢視和編輯遠端電腦上的檔案。

遠端檔案總管

  • 您現在可以輕鬆地使全域函式成為「靜態」。
  • 當您有不在匿名命名空間中的 free 函式,而且標頭檔中遺漏向前宣告時,您會收到將其標記為靜態的建議。

將全域函式設為靜態範例

  • 您可以移至 [工具] > [選項] > [文字編輯器] > [C/C++] > [IntelliSense] 來調整此功能的設定。

設定讓全域函式成為靜態

  • 已新增 Unreal Engine 的新程式碼片段。 開始在編輯器視窗中輸入,而 UE 程式碼片段將會開始顯示為 UE 專案中的成員清單項目。 按 Tab 鍵或 Enter 以建立程式碼片段。 支援的程式碼片段包括 (UClass、UClassExported、UENUM、UFUNCTION、UINTERFACE、UINTERFACEExported、UPROPERTY、USTRUCT、USTRUCTExported、UELOG、SWidget、TActorRange、TObjectRange、WITH_EDITOR)

Unreal Engine 程式碼片段

  • 您現在可以在 Visual Studio 中建立、管理及執行您的 Unreal Engine 測試。 為了確保正確啟用 Unreal Engine 測試配接器,請仔細檢查 Visual Studio 安裝程式中「使用 C++ 進行遊戲開發」工作負載下的「Unreal Engine 測試配接器」是否已選取。 在安裝 UE 測試配接器之後,您的 Unreal Engine 測試會在您開啟 Visual Studio 時自動顯示在測試總管中。 需要 UE 市集GitHub 中最新版的 Unreal Engine 外掛程式。

Tafue 範例

  • 我們已將 [函式檢視] 新增至 Visual Studio 內的 Build Insights 整合。 Build Insights 產生的診斷報告現在會為您顯示函式產生時間和 ForceInline。

Build Insights 函式檢視

  • 新增了成員函式 const 在邏輯上不應該修改物件狀態時的自動建議。 藉由將滑鼠停留在成員函式上方,並按一下燈泡圖示,您可以快速存取建議,將函式標記為 const。

成員函式 const 提示燈泡建議

  • 您現在可以將滑鼠停留在類別、結構、集合聯集、基底類型或列舉上方,以查看大小和對齊。

大小和對齊方式

  • 現在,您可以排序 #include 指示詞。 這項功能可透過捷徑功能表內的 [#include 指示詞] 下拉式清單來存取。 您也可以在 [程式碼清除] 組態設定中新增「排序 #include 指示詞 (C++)」來存取它。

排序 Includes 項目

  • 您可以瀏覽至 [工具 > 選項 > 文字編輯器 > C/C++ > 程式碼清除],調整排序順序以符合您的喜好設定。

排序 Includes 設定

  • /FU 不再支援 C 編譯,因為 C 不支援 /clr
  • 已新增 /FU:asFriend,以提供內部 #using <assembly> as_friend 的同位。

F#

  • 已對程式碼修正進行徹底檢修,解決了許多 Bug (這裡有詳細資料)。
  • 引進了新的程式碼修正,將記錄欄位定義中的等號 (=) 變更為冒號 (:):新的 F# 程式碼修正
  • 已實作針對未開啟檔案啟動診斷的選項。 基於效能,預設會關閉此選項 (這裡有詳細資料)。
  • 各種案例中的增強型自動完成,包括:
    • 匿名記錄欄位:已改善匿名記錄欄位中的自動完成
    • 聯集案例欄位:已改善 Union 案例欄位中的自動完成
    • 差別聯集案例欄位:已改善 Discriminated Union 案例欄位中的自動完成
    • 列舉案例值運算式:改善列舉案例值運算式中的自動完成
  • 已解決 FSI 中匿名記錄處理相關的問題 (#15519)。
  • 已修正 FSI 中的誤導行號 (#15384)。
  • 自動屬性的統一工具提示:自動屬性的統一工具提示
  • 針對與差別聯集欄位相符的引數名稱,藉由隱藏參數名稱提示,改善了這些提示:改善的參數名稱提示
  • 已解決瀏覽至外部列舉定義和差別聯集定義的問題 (#15270)。
  • 已修正尋找運算子 (以 '>' 開始) 的參考 (#15386)。

偵錯和診斷

偵錯案例中的 .NET 計數器工具

您現在可以透過診斷視窗,方便地存取 .NET 計數器,方法是從 [選取工具] 下拉式功能表中選擇 [.NET 計數器] 選取項目。 即使在進行偵錯工作階段時,您也可以利用 .NET 計數器的功能,來監督和評估重要的效能計量。

.NET 計數器

跨平台 Enc/熱重新載入偵錯支援

在診斷和偵錯應用程式裝載於 Linux 容器上或 Windows 子系統 Linux 版 (WSL) 中時,我們新增了 F5 (具有偵錯工具) 和 Ctrl-F5 (沒有偵錯工具) 啟動 [編輯後繼續] 的支援。 請注意,F5 偵錯案例依賴 .NET 8 RC1 和更新版本。

透過附加至處理序對 Linux App Services 進行偵錯

我們很高興推出一項強大的新功能,可以透過「附加至處理序」來對 Linux App Services 中的 .NET 處理序進行偵錯。
這項功能可讓開發人員輕鬆偵錯及診斷其正在執行的 Linux Azure App Services 執行個體中的問題。

若要附加至處理序:

1. 選取 [偵錯] > [附加至處理序] (或按 Ctrl+Alt+P) 來開啟 [附加至處理序] 對話方塊。

2. 檢查 [連線類型]。 其應該是「Microsoft Azure App Service」

3. 將 [連線目標] 設為您的 Linux 電腦名稱。

4. 選取正確的可用處理序,然後按一下 [附加]

LinuxAppServices-Attach-to-Process

BenchmarkDotNet IDiagnosers

Visual Studio 分析工具現在支援 BenchmarkDotNet IDiagnosers。 這些 IDiagnosers 在來自 BenchmarkDotNet 案例的 diagsession 匯總中扮演重要角色。
[基準測試] 索引標籤提供已執行基準測試的視覺效果。 它也可讓您藉由按兩下特定資料列,從泳道精確選擇基準。

IDiagnosers-swimlane

或者,您可以選擇透過滑鼠右鍵操作功能表瀏覽至來源檔案。 統計資料會直接從 BenchmarkDotNet 進行來源,並以結構化方格格式呈現。

IDiagnosers-gotosource

中斷點設定視窗的增強主題支援

我們已將佈景主題支援新增至 [中斷點設定] 視窗,確保 Visual Studio 淺色、深色和藍色佈景主題之間的無縫一致性。

breakpoint-settings

透過計量 API 支援 .NET 計數器進行新檢測

.NET 計數器工具現在引進了 .NET 計量 API 的整合,包含新的檢測選項,其中包括「Counter」和「ObservableCounter」

「計數器」會持續追蹤隨著時間變更的值,而呼叫端會使用「Counter.Add」報告更新。相反地,「ObservableCounter」就像計數器,但呼叫端會負責追蹤總值。 目前 .NET 計數器工具會報告總計的變更率。

您可以在 .NET 計數器計量名冊清單中找到這些計量,進而增強系統效能和資源使用率的可見度。此外,我們正積極規劃在未來引進其他的檢測選項,以進一步增強這項功能。

17.8.p2.DotNetCounter-MetersApi.mp4

使用診斷中樞測試分析

我們很高興引進更新的測試分析功能。 當您在測試總管中以滑鼠右鍵按一下測試並選取 [分析] 時,您現在可在一組可用的工具之間選取,包括:

  • CPU 使用率
  • GPU 使用量
  • 檔案 IO
  • .NET Async
  • 事件檢視器

選取您想要使用的工具,然後按一下 [啟動],系統隨即提供一份報告。

測試分析


Razor 工具

用於產生事件處理常式的程式碼動作

如果您要使用 @onclick 或 @onactivate 之類的事件來參考尚未定義的 C# 方法,則可以使用新的 Razor 程式碼動作,自動產生該事件處理常式方法。 此程式碼動作也支援自訂事件引數。

用於產生事件處理常式的程式碼動作

C# 程式碼的背景色彩

您現在可以選擇針對位於 Razor 檔案內的 C# 程式碼新增背景色彩。 根據預設已關閉,請啟用此選項,方法是移至 [工具] > [選項] > [文字編輯器] > [Razor] > [進階],並將 [C# 程式碼的背景] 設定為 True。

C# 程式碼的背景色彩


JavaScript 和 TypeScript 開發

新的 React TypeScript 與 ASP.NET 合併範本

當我們最初在這篇部落格文章中發行 JavaScript/TypeScript,搭配 ASP.NET 合併範本時,我們收到意見反應,使用者應該得到更好的 React TypeScript 專案建立體驗。 這個新的 React TypeScript 搭配 ASP.NET 合併範本會取得已設定的現成 tsconfig 和 SpaProxy。

React TypeScript 與 ASP.NET 合併範本

開啟資料夾的 launch.json 支援

當您選擇使用 .vscode 目錄中的 launch.json 開啟工作區上的資料夾,以儲存您的啟動和偵錯設定時,Visual Studio 會識別該資料夾,並將其包含在綠色按鈕旁邊 [偵錯] 目標的下拉式功能表中。

開啟資料夾的 launch.json 支援


SQL

  • 已將 Microsoft.Data.SQLClient (MDS) 從 3.0 版升級到 SQL Server Data Tools (SSDT) 中的 5.0 版 深入了解
  • 有兩個新欄位新增至 [連線] 對話方塊 連線對話方塊
  • 連線時,Encrypt 屬性現在預設為 true (已啟用)。 如果伺服器未設定信任的憑證,則可能適合使用設定為 true 的 [信任伺服器憑證]。 如需詳細資料,請參閱文件

新的 IntelliTest 現在處於預覽狀態

IntelliTest 會探索您的 .NET 程式碼,以產生具有高程式碼涵蓋範圍的測試套件,由最新版的 Z3 問題解決工具提供。 產生測試時,您能夠選取想要將哪些測試保留至可作為迴歸套件的測試專案。 當您的程式碼更新時,您可以重新執行 IntelliTest,將產生的測試與您的程式碼保持同步。

先前實作此 Enterprise Edition 功能時僅支援以 .NET Framework 為目標的程式碼,且不支援 x64 設定。 此更新的版本包含下列操作:

透過 [工具] > [管理預覽功能] 並為使用 Z3 v4 的 NetFx 和 Net6 選取 IntelliTest 支援,來啟用此功能 (需要重新啟動)。

啟用 Intellitest

然後在您的程式碼中,於方法內按一下滑鼠右鍵,並選取 [IntelliTest (預覽版)],然後選取 [建立專案] 以建立可在其中儲存測試的專案,或選取 [產生測試] 來產生一組測試,以檢閱並確定要保留的測試。

在程式碼中啟用 Intellitest


|

效能增強功能

改善的 Razor/Blazor 回應性

使用 Razor 和 Blazor 的方案將有更佳回應性的體驗。 我們藉由在 Visual Studio 與 Roslyn 之間的跨處理程序通訊期間大幅減少記憶體配置來達成此目的。 我們測試了 OrchardCore 方案,而結果令人印象深刻。 為了開啟方案並準備好 Razor IntelliSense,我們少配置大約 1.4 GB 的記憶體。 較少的堆積配置表示記憶體回收行程的工作較少,這會導致回應性改善。

增強的 F5 速度

我們已藉由最佳化中斷點的設定方式,大幅增強原生專案的 F5 效能。 任何指定專案都能看到的改進,取決於具有中斷點的檔案數目、具有符號的 DLL 數目等等。此外,我們已針對 Windows 應用程式最佳化 PDB 載入程序,以減少在找到 PDB 之後載入所需的時間。 在我們的測試中,這些最佳化為 Unreal 編輯器專案提供了顯著的 20% 速度改善。

增強的 F5 速度

適用於 C++ Unreal Engine 的最佳化 IntelliSense

我們已改善開啟先前開啟的 C++ 檔案之後,IntelliSense 和顏色標示變為可供使用的速度。 我們已一律快取已開啟檔案的 IntelliSense 狀態。 在 17.8 中,我們已重新建構快取的讀取,因此會先計算最重要的資訊,包括顏色標示和所選參考的醒目提示。 此最佳化可協助您更快提高生產力。

IntellisenseCPlus

非 SDK 樣式 .NET 專案的建置加速

Visual Studio 17.8 將建置加速延伸至以非 SDK 樣式專案為目標的受控應用程式 (例如以 .NET Framework 4.8 或更低版本為目標的專案),對建置時間產生重大影響。 若要啟用,請設定 msbuild 專案屬性,如下所示:

<Project> 
    <PropertyGroup>  
        <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    </PropertyGroup>  
</Project>   

這會以 17.5 中針對 SDK 樣式專案的成功為基礎,大幅減少累加建置時間。

在使用內部方案的內部測試中,我們注意到累加建置時間最多可改善 50%。 不過,實際改善幅度取決於建置開始時的專案狀態。 具體來說,相較於方案中的專案總數,已修改的專案愈少,則改善幅度就愈大。 您體驗的實際改善程度將取決於專案的特定特性及其修改。

企業管理

系統管理員現在可以在委派更新或修改其 Visual Studio 安裝的標準使用者控制之前,輕鬆地初始化用戶端電腦。 現在,您可以透過執行「vs_enterprise.exe install --installerOnly」,以程式設計方式只安裝安裝程式。

利用系統管理員更新解決方案來傳遞整個組織每月安全性更新的系統管理員,現在可以提示使用者關閉 Visual Studio,這是防止系統管理員更新套用的常見情況。 若要啟用提示,請設定新的「AdministratorUpdatesNotifications」全域原則,這可在 Intune 設定目錄和 ADMX 範本中取得。 感謝建議此功能的系統管理員社群


意見反應與建議

我們很希望聽聽您的意見! 您可以回報問題或建議功能意見反應圖示,方法是使用安裝程式或 Visual Studio IDE 右上角的 [傳送意見反應] 圖示,或從 [說明] > [傳送意見反應]。 您可以使用 Visual Studio 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。


部落格

善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。


頁首