Visual Studio 2022 版本 17.8 版本資訊
提示
觀看 Visual Studio 2022 上市活動的錄製內容以了解新功能、聆聽提示及技巧,以及下載免費的數位 Swag。
開發人員社群| Visual Studio 2022 藍圖| 系統需求| 相容性| 可散發程式碼| 版本歷程記錄| 授權條款| 部落格| 最新版已知問題| Visual Studio Docs 的新功能
按一下按鈕以下載最新版的 Visual Studio 2022。 如需安裝和更新 Visual Studio 2022 的指示,請參閱將 Visual Studio 2022 更新至最新版本。 此外,請參閱如何離線安裝上的指示。
若要下載其他 Visual Studio 2022 產品,請造訪 Visual Studio 網站。
Visual Studio 2022 17.8 版發行版本
- 2024 年 9 月 10 日 — Visual Studio 2022 版本 17.8.14
- 2024年 8 月 13 日 — Visual Studio 2022 17.8.13 版
- 2024 年 7 月 9 日 — Visual Studio 2022 版本 17.8.12
- 2024 年 6 月 11 日 — Visual Studio 2022 17.8.11 版
- 2024 年 5 月 14 日 — Visual Studio 2022 17.8.10 版
- 2024 年 4 月 9 日 — Visual Studio 2022 17.8.9 版
- 2024 年 3 月 12 日 — Visual Studio 2022 17.8.8 版
- 2024 年 2 月 13 日 — Visual Studio 2022 17.8.7 版
- 2024 年 1 月 30 日 — Visual Studio 2022 17.8.6 版
- 2024 年 1 月 17 日 — Visual Studio 2022 17.8.5 版
- 2024 年 1 月 9 日 — Visual Studio 2022 17.8.4 版
- 2023 年 12 月 5 日 - Visual Studio 2022 17.8.3 版
- 2023 年 11 月 28 日 — Visual Studio 2022 17.8.2 版
- 2023 年 11 月 21 日 — Visual Studio 2022 17.8.1 版
- 2023 年 11 月 14 日 — Visual Studio 2022 17.8.0 版
Visual Studio 2022 部落格
Visual Studio 2022 部落格是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2022 版本的深入資訊:
Visual Studio 2022 17.8.14 版
2024 年 9 月 10 日發行
本版新功能
- 正在更新與 Microsoft Store 互動時所使用的驗證方法。
開發人員社群
已解決的資安漏洞諮詢通告
CVE-2024-35272 SQL Server Native Client OLE DB 提供者遠端程式碼執行弱點
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 的弱點。
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 中的資料損毀可能導致遠端程式碼執行。
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 的安裝程式易受到二進位檔劫持的威脅
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 更新
開發人員社群
- 對 Arm64 程式碼產生錯誤的程式碼,並將對齊的結構推送到參數堆疊
- 陣列中的事實計數與 x64 最佳化程式碼不正確
- C++ 模組和連結:嚴重錯誤 LNK1000:IncrBuildImage.Pass2 期間發生內部錯誤
已解決的資安漏洞諮詢通告
- 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,其中可能會發生導致拒絕服務的死結。
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 中的遠端程式碼執行弱點。
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。
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 支援的拒絕服務弱點。
Visual Studio 2022 版本 17.8.6
發行於 2024 年 1 月 30 日
Visual Studio 2022 17.8.6 版發行版本的新功能摘要
開發人員社群
- CreateWindow 的參數著色不正確,且沒有快速資訊
- 將 VS 2022 更新為節點 18
- 在 VS17.8 中建置 c++/clr 專案時發生問題
- ARM64EC 將 17.8preview1 更新為 preview3,收到錯誤:libvcruntime.lib(overrides.obj) : 錯誤 LNK2013: BRANCH26 修復溢位。 目標 '#memcpy_unal
- ARM64EC LNK1000 在 IMAGE::BuildImage 期間發生內部錯誤,原因是 link!CollectLongBranch 損毀
- Intel Core 2 四核心處理器 Q6600 上的 VC 執行階段 14.38.33130 concrt140.dll 中出現不合法指令 (SSE 4.2 POPCNT) 例外狀況
- 此修正程式需要更新 VC 可轉散發套件。 對於此 17.8 更新,Visual Studio 不會自動更新 VC 可轉散發套件。 若要正確套用修正程式,在為 Visual Studio 安裝此更新後,使用者將需要執行於
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\<latest version>
提供的目標結構之 VC 可轉散發套件可執行檔。 應用程式區域部署應從arm64
或x64
,x86
子資料夾下的同一資料夾中複製相關 VC 執行階段二進位檔案。
- 此修正程式需要更新 VC 可轉散發套件。 對於此 17.8 更新,Visual Studio 不會自動更新 VC 可轉散發套件。 若要正確套用修正程式,在為 Visual Studio 安裝此更新後,使用者將需要執行於
- 嚴重錯誤 C1001:內部編譯器錯誤
- Visual Studio 2022 條件性最佳化程式碼後置遞增無效
- 在複製到內建類型 __n64 時出現 VS17.8 ARM64EC 發行組建程式碼產生錯誤
- 編譯器 19.37.32825 在使用 /O2 存取 uint16_t 時產生不正確的組譯碼 LDRSH
Visual Studio 2022 版本 17.8.5
發行於 2024 年 1 月 17 日
Visual Studio 2022 17.8.5 版發行版本的新功能摘要
- 新增 Xcode 15.1 支援和 API 修正,如需完整的版本資訊,請造訪我們的 macios 發行版本頁面。
- 修正了某些客戶在變更 Razor 專案的目標 Framework 之後,無法看到後續所新增元件的問題。
- 已修正 [偵錯並附加至處理程序] 對話方塊啟動期間當機的問題。
- 修正在 [設定設計工具] 中變更存取修飾詞時當機的問題。
開發人員社群
- 使用 Blazor 的標記和自動完成錯誤
- 無法安裝任何 Visual Studio 延伸模組
- 載入 [模組] 索引標籤時,Visual Studio 遠端偵錯工具會凍結 30 分鐘以上
- 升級至 Visual Studio 17.8 之後的 Clickonce 資訊清單錯誤
Visual Studio 2022 版本 17.8.4
發行於 2024 年 1 月 9 日
Visual Studio 2022 17.8.4 版發行版本的新功能摘要
開發人員社群
- 當 Android 的目標執行階段是 .NET MAUI 中的 .NET 8 時,無法選取目標 Android 架構
- 必須安裝服務 'Microsoft.VisualStudio.OLE.Interop.IOleUndoManager'
- 升級至 Visual Studio 17.8.0 之後,互動式 REST 測試就無法再運作
- Visual Studio 2022 17.8 版將滑鼠停留在中斷點偵錯中的變數上不會顯示值
- 17.8 預覽版 2 無法載入 IncrediBuild [延伸模組設定] 選項對話方塊
- 偵錯單一步驟函式無法在混合偵錯工具模式中運作,並顯示錯誤 0x8ede0018
已解決安全性諮詢
- 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 專案範本中有關弱點的資訊。
Visual Studio 2022 版本 17.8.3
發行於 2023 年 12 月 5 日
Visual Studio 2022 17.8.3 版發行版本的新功能摘要
- 已修正作為連結檔案或從共用專案使用 Razor 檔案的專案問題。
開發人員社群
- VS2022 程式碼視窗中會忽略自訂文字轉譯設定
- 更新為 17.8 之後的行大小錯誤。
- Android 本機裝置在升級至 VS 2022 17.8.0 之後停止顯示
- 將 Visual Studio 2022 更新為 17.8.1 之後共用專案發生問題
- 如果位於方案資料夾中,則 .esproj 將不會啟動 StartupCommand
- 遠端 Git 作業速度非常慢
- VS2022 17.8:評估 .NET Framework 檔案上具有 Unicode 字元的區域變數時「未定義識別碼」
已知問題
- 從 Delinea 安裝權限管理軟體的使用者可能會遇到啟動 Visual Studio 的問題。 Delinea 知道此問題並已加以解決。 請透過 https://delinea.com/support 連絡他們,以取得如何解決此問題的指示。」
Visual Studio 2022 版本 17.8.2
2023 年 11 月 28 日發行
Visual Studio 2022 17.8.2 版發行版本的新功能摘要
- 已修正在某些情況下,文件視窗在顯示載入訊息時可能會卡住的問題。
- 在某些情況下 (當專案位於方案資料夾下時),您可能會在儲存專案時看到錯誤。 專案將會儲存,但您會看到無法轉換 COM 物件的錯誤。 此問題現在已修正,因此不再顯示錯誤。
開發人員社群
- RemoteSemanticClassificationService.GetClassificationsAsync:SyntaxTree 不是編譯的一部分
- 變更為另一個檔案時,VS 在「載入編輯器元件」時會卡住
- 升級至 Visual Studio 17.8.0 之後,互動式 REST 測試就無法再運作
- 以 .NET 5.0 和更低版本為目標的 ASP.NET Core Web 應用程式在 17.8.0 更新後停止運作
- 無法建立 .NET Framework 主控台應用程式
Visual Studio 2022 版本 17.8.1
2023 年 11 月 21 日發行
Visual Studio 2022 17.8.1 版發行版本的新功能摘要
- IncrediBuild 的更新版本修正了使用標準建置功能表命令建置 CMake 專案時,預設會錯誤地重新導向組建以使用 IncrediBuild 的問題。
開發人員社群
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 系統管理員的用戶端初始化步驟 |
其他開發人員社群建議:您的問題,我們都聽到了!
- 空白解決方案專案範本遺漏 33 票
- Csproj 編輯器由於 AndroidPackageFormat 而未開啟
- 中斷點醒目提示 - C# 25 票
- 製作 (編輯) 鍵入/捲動更具回應能力 24 票
- 比較多個檔案與舊版 8 票
- Git 差異:只顯示差異,並省略未變更的行 7 票
- 擷取剪貼簿資料時,Visual Studio ASAN 擲回嚴重錯誤 11 票
- VS 2022 監看式視窗和中斷點無法評估涉及 C++/CX 插入號 (^) 指標的運算式 5 票
- std::ranges::iota_view<size_t, size_t> 錯誤的 C++ IntelliSense 5 票
- 在 [Git 存放庫] 對話方塊上停用目前/初始 Git 分支的自動多分支歷程記錄切換 4 票
- ARM64 memchr 實作可能不符合標準
- 獨立 React TypeScript 專案範本失敗,部分路徑找不到
- Git 分支側邊列不會保持摺疊
- MessageBar 在新 VS 2022 17.8.0 Preview 1.0 中具有低對比度
生產力功能
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 語法。 透過 [預覽功能 > 提取要求] 啟用此功能。
我們已在預覽版本中逐一查看,以提供更佳的錯誤處理和改善的檢閱者體驗。 在這裡讓我們知道您對提取要求體驗的看法。
將檢閱者新增至您的提取要求
針對 Azure DevOps 和 GitHub,現在您可以在 Visual Studio 中將檢閱者新增至您的提取要求。
按一下推送時出現的 [建立提取要求] 連結,或從最上層功能表選取 [Git] > [GitHub] 或 [Azure DevOps] > [新增提取要求] 來試試看。 然後,瀏覽至 [檢閱者] 區段,並搜尋您想要新增的檢閱者。 我們計畫繼續進行更新以改善此提取要求體驗,因此請在這裡分享此功能的意見反應,並於開發人員社群中的建議票證與我們連絡。
我們也新增了更好的錯誤處理,並改善了檢閱者搜尋。 在這裡讓我們知道您對提取要求體驗的看法。
摘要差異
為了繼續努力改善 Visual Studio 中的差異體驗,我們已在差異和比較檢視中實作 [摘要] 檢視。 這個新選項可讓您只查看檔案中幾行內容的變更,這使得檢閱認可中的變更或兩個檔案之間的比較更有效率。
請在這裡分享您的意見反應,並與我們連絡開發人員社群中的建議票證,讓我們知道您對此功能的看法。
多個存放庫啟用設定和限制增加
在某些工作流程中,控制是否自動啟用多存放庫很重要。 使用新的設定,您就可以將焦點放在個別存放庫,而不會看到多存放庫 UI。 此外,我們已將您一次可以使用的存放庫數目增加到 25。
GitHub 虛擬人偶已新增至 Git 存放庫視窗
在 [Git 存放庫] 視窗的多分支圖表中查看您的 GitHub 虛擬人偶。
GitHub Actions 工具
我們已解決下列未預期的行為:方案總管中的新 GitHub Actions 節點針對未裝載於 GitHub.com 的存放庫出現。 新的節點現在應該只會針對 GitHub.com 上裝載的存放庫出現。 接下來,我們將要改善透過 [工具] > [選項] 關閉新節點的功能。
程式碼搜尋和瀏覽
由於我們一直致力於提升全方位搜尋體驗的效能和可靠性,因此也新增了一個狀態列,顯示所傳回每種結果的計數。
Microsoft Teams Toolkit
在最新的 Visual Studio 2022 17.8 版中,我們引進了更多專案範本,以符合更多商務案例,並使入門更為簡單。 新的範本如下:
- 回應使用者輸入的 [Echo Bot] 範本。 - [連結展開] 範本,這是一種訊息延伸模組應用程式,可轉譯自適應卡片的 URL 連結。 - [自訂搜尋結果] 範本,這是訊息延伸模組應用程式的搜尋類型,可讓使用者直接搜尋和顯示來自聊天區域或搜尋列的結果。 - [從輸入收集及處理資料] 範本,這是訊息延伸模組應用程式的動作類型,其會取得使用者輸入、執行某些邏輯,然後將結果傳回給使用者。
我們也重新設計了 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 目標檢視已簡化,以便若沒有可建置的可執行檔,使用者不必按一下資料夾,即可到達其所需的目標。
- 您現在可以透過 [遠端檔案總管] 視窗,在 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)
- 您現在可以在 Visual Studio 中建立、管理及執行您的 Unreal Engine 測試。 為了確保正確啟用 Unreal Engine 測試配接器,請仔細檢查 Visual Studio 安裝程式中「使用 C++ 進行遊戲開發」工作負載下的「Unreal Engine 測試配接器」是否已選取。 在安裝 UE 測試配接器之後,您的 Unreal Engine 測試會在您開啟 Visual Studio 時自動顯示在測試總管中。 需要 UE 市集或 GitHub 中最新版的 Unreal Engine 外掛程式。
- 我們已將 [函式檢視] 新增至 Visual Studio 內的 Build Insights 整合。 Build Insights 產生的診斷報告現在會為您顯示函式產生時間和 ForceInline。
- 新增了成員函式
const
在邏輯上不應該修改物件狀態時的自動建議。 藉由將滑鼠停留在成員函式上方,並按一下燈泡圖示,您可以快速存取建議,將函式標記為 const。
- 您現在可以將滑鼠停留在類別、結構、集合聯集、基底類型或列舉上方,以查看大小和對齊。
- 現在,您可以排序 #include 指示詞。 這項功能可透過捷徑功能表內的 [#include 指示詞] 下拉式清單來存取。 您也可以在 [程式碼清除] 組態設定中新增「排序 #include 指示詞 (C++)」來存取它。
- 您可以瀏覽至 [工具 > 選項 > 文字編輯器 > C/C++ > 程式碼清除],調整排序順序以符合您的喜好設定。
/FU
不再支援 C 編譯,因為 C 不支援/clr
。- 已新增
/FU:asFriend
,以提供內部#using <assembly> as_friend
的同位。
F#
- 已對程式碼修正進行徹底檢修,解決了許多 Bug (這裡有詳細資料)。
- 引進了新的程式碼修正,將記錄欄位定義中的等號 (
=
) 變更為冒號 (:
): - 已實作針對未開啟檔案啟動診斷的選項。 基於效能,預設會關閉此選項 (這裡有詳細資料)。
- 各種案例中的增強型自動完成,包括:
- 匿名記錄欄位:
- 聯集案例欄位:
- 差別聯集案例欄位:
- 列舉案例值運算式:
- 已解決 FSI 中匿名記錄處理相關的問題 (#15519)。
- 已修正 FSI 中的誤導行號 (#15384)。
- 自動屬性的統一工具提示:
- 針對與差別聯集欄位相符的引數名稱,藉由隱藏參數名稱提示,改善了這些提示:
- 已解決瀏覽至外部列舉定義和差別聯集定義的問題 (#15270)。
- 已修正尋找運算子 (以 '>' 開始) 的參考 (#15386)。
偵錯和診斷
偵錯案例中的 .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. 選取正確的可用處理序,然後按一下 [附加]
BenchmarkDotNet IDiagnosers
Visual Studio 分析工具現在支援 BenchmarkDotNet IDiagnosers。 這些 IDiagnosers 在來自 BenchmarkDotNet 案例的 diagsession 匯總中扮演重要角色。
[基準測試] 索引標籤提供已執行基準測試的視覺效果。 它也可讓您藉由按兩下特定資料列,從泳道精確選擇基準。
或者,您可以選擇透過滑鼠右鍵操作功能表瀏覽至來源檔案。 統計資料會直接從 BenchmarkDotNet 進行來源,並以結構化方格格式呈現。
中斷點設定視窗的增強主題支援
我們已將佈景主題支援新增至 [中斷點設定] 視窗,確保 Visual Studio 淺色、深色和藍色佈景主題之間的無縫一致性。
透過計量 API 支援 .NET 計數器進行新檢測
.NET 計數器工具現在引進了 .NET 計量 API 的整合,包含新的檢測選項,其中包括「Counter」和「ObservableCounter」
「計數器」會持續追蹤隨著時間變更的值,而呼叫端會使用「Counter.Add」報告更新。相反地,「ObservableCounter」就像計數器,但呼叫端會負責追蹤總值。 目前 .NET 計數器工具會報告總計的變更率。
您可以在 .NET 計數器計量名冊清單中找到這些計量,進而增強系統效能和資源使用率的可見度。此外,我們正積極規劃在未來引進其他的檢測選項,以進一步增強這項功能。
使用診斷中樞測試分析
我們很高興引進更新的測試分析功能。 當您在測試總管中以滑鼠右鍵按一下測試並選取 [分析] 時,您現在可在一組可用的工具之間選取,包括:
- CPU 使用率
- GPU 使用量
- 檔案 IO
- .NET Async
- 事件檢視器
選取您想要使用的工具,然後按一下 [啟動],系統隨即提供一份報告。
Razor 工具
用於產生事件處理常式的程式碼動作
如果您要使用 @onclick 或 @onactivate 之類的事件來參考尚未定義的 C# 方法,則可以使用新的 Razor 程式碼動作,自動產生該事件處理常式方法。 此程式碼動作也支援自訂事件引數。
C# 程式碼的背景色彩
您現在可以選擇針對位於 Razor 檔案內的 C# 程式碼新增背景色彩。 根據預設已關閉,請啟用此選項,方法是移至 [工具] > [選項] > [文字編輯器] > [Razor] > [進階],並將 [C# 程式碼的背景] 設定為 True。
JavaScript 和 TypeScript 開發
新的 React TypeScript 與 ASP.NET 合併範本
當我們最初在這篇部落格文章中發行 JavaScript/TypeScript,搭配 ASP.NET 合併範本時,我們收到意見反應,使用者應該得到更好的 React TypeScript 專案建立體驗。 這個新的 React TypeScript 搭配 ASP.NET 合併範本會取得已設定的現成 tsconfig 和 SpaProxy。
開啟資料夾的 launch.json 支援
當您選擇使用 .vscode 目錄中的 launch.json 開啟工作區上的資料夾,以儲存您的啟動和偵錯設定時,Visual Studio 會識別該資料夾,並將其包含在綠色按鈕旁邊 [偵錯] 目標的下拉式功能表中。
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 設定。 此更新的版本包含下列操作:
- 為 .NET Core/Standard - 開發人員社群新增 IntelliTest 支援 (visualstudio.com)
- 為 x64 - 開發人員社群新增 IntelliTest 支援 (visualstudio.com)
透過 [工具] > [管理預覽功能] 並為使用 Z3 v4 的 NetFx 和 Net6 選取 IntelliTest 支援,來啟用此功能 (需要重新啟動)。
然後在您的程式碼中,於方法內按一下滑鼠右鍵,並選取 [IntelliTest (預覽版)],然後選取 [建立專案] 以建立可在其中儲存測試的專案,或選取 [產生測試] 來產生一組測試,以檢閱並確定要保留的測試。
|
效能增強功能
改善的 Razor/Blazor 回應性
使用 Razor 和 Blazor 的方案將有更佳回應性的體驗。 我們藉由在 Visual Studio 與 Roslyn 之間的跨處理程序通訊期間大幅減少記憶體配置來達成此目的。 我們測試了 OrchardCore 方案,而結果令人印象深刻。 為了開啟方案並準備好 Razor IntelliSense,我們少配置大約 1.4 GB 的記憶體。 較少的堆積配置表示記憶體回收行程的工作較少,這會導致回應性改善。
增強的 F5 速度
我們已藉由最佳化中斷點的設定方式,大幅增強原生專案的 F5 效能。 任何指定專案都能看到的改進,取決於具有中斷點的檔案數目、具有符號的 DLL 數目等等。此外,我們已針對 Windows 應用程式最佳化 PDB 載入程序,以減少在找到 PDB 之後載入所需的時間。 在我們的測試中,這些最佳化為 Unreal 編輯器專案提供了顯著的 20% 速度改善。
適用於 C++ Unreal Engine 的最佳化 IntelliSense
我們已改善開啟先前開啟的 C++ 檔案之後,IntelliSense 和顏色標示變為可供使用的速度。 我們已一律快取已開啟檔案的 IntelliSense 狀態。 在 17.8 中,我們已重新建構快取的讀取,因此會先計算最重要的資訊,包括顏色標示和所選參考的醒目提示。 此最佳化可協助您更快提高生產力。
非 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 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。