2019LogoVisual Studio 2019 16.3 版的版本資訊



開發人員社群 | 系統需求 | 相容性 | 可散發程式碼 | 發行歷程記錄 | 授權條款 | 部落格 | Visual Studio Docs 的新功能


注意

這不是 Visual Studio 的最新版本。 若要下載最新版本,請參閱 Visual Studio 的網站。



Visual Studio 2019 16.3 版的新功能

支援時間範圍

此版本現在已不支援。 如需 Visual Studio 支援的詳細資訊,請檢閱 Visual Studio 2019 的支援原則

請參閱最新版的版本資訊,或造訪 Visual Studio 網站以下載最新支援的 Visual Studio 2019 版本。

Visual Studio 2019 16.3 版

封存的版本資訊

Visual Studio 2019 部落格

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


Release Notes Icon Visual Studio 2019 16.3.10 版New release icon

2019 年 11 月 20 日發行

Visual Studio 2019 16.3.10 版中已修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.9 版

發行於 2019 年 11 月 12 日

Visual Studio 2019 16.3.9 版中已修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.8 版

發行於 2019 年 11 月 5 日

Visual Studio 2019 16.3.8 版中已修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.7 版

發行於 2019 年 10 月 29 日

Visual Studio 2019 16.3.7 版中已修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.6 版

發行於 2019 年 10 月 22 日

Visual Studio 2019 16.3.6 版中已修正的幾大問題


Release Notes Icon Visual Studio 2019 16.3.5 版

發行於 2019 年 10 月 15 日

Visual Studio 2019 16.3.5 版修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.4 版

發行於 2019 年 10 月 10 日

Visual Studio 2019 16.3.4 版中已修正的主要問題


Release Notes Icon Visual Studio 2019 16.3.3 版

發行於 2019 年 10 月 8 日

Visual Studio 2019 16.3.3 版修正的最重要問題


Release Notes Icon Visual Studio 2019 16.3.2 版

發行於 2019 年 10 月 1 日

Visual Studio 2019 16.3.2 版中已修正的幾大問題

  • 更正了 Xcode 11 支援的問題。

Release Notes Icon Visual Studio 2019 16.3.1 版

發行於 2019 年 9 月 25 日

Visual Studio 2019 16.3.1 版中修正的幾大問題


Release Notes Icon Visual Studio 2019 16.3.0 版

發行於 2019 年 9 月 23 日

Visual Studio 2019 16.3 版的新功能摘要

Visual Studio 2019 16.3.0 版中修正的幾大問題


Visual Studio 2019 16.3.0 版的新功能詳細資料

.NET Framework 4.8

已新增 .NET Framework 4.8 開發工具來支援鎖定 .NET Framework 4.8。 .NET Framework 4.8 提供多項新功能和改善,並大幅修正可靠性、穩定性、安全性和效能。 在 .NET Framework 4.8 部落格公告尋找 .NET Framework 4.8 的其他詳細資料

.NET 生產力

  • 開發人員現在可以在重新命名介面、列舉或類別時重新命名檔案。 將游標放在 [類別名稱] 並鍵入 (Ctrl + R、R) 以開啟 [重新命名] 對話方塊,然後選取 [重新命名檔案] 方塊。
Rename containing file when renaming a class
重新命名類別時,重新命名包含檔案
  • 您現在可在多重目標專案中使用 [編輯後繼續],這包括在相同程序中,在不同網域或負載內容多次載入的模組。 此外,即使未載入包含的專案,或應用程式正在執行時,開發人員也可以編輯來源檔案。
  • 您現在可以使用重構來包裝 Fluent 呼叫鏈結。 將游標放在呼叫鏈結上,然後按 (Ctrl+.) 來觸發 [快速動作與重構] 功能表。 選取 [包裝呼叫鏈結] 或 [包裝並對齊呼叫鏈結]
Wrap call chain
包裝呼叫鏈結
  • 使用者現在可以在撰寫區域變數的初始設定式之後立即引進它。 首先,請撰寫運算式。 然後,將游標放在運算式名稱中,然後按 (Ctrl+.) 來觸發 [快速動作與重構] 功能表。 選取選項來引進區域變數。
Introduce a local variable
撰寫初始設定式之後引進區域變數
  • 現在已有適用於分析器的 .NET Core 工具支援。 使用者現在可以在 [方案總管] 內以滑鼠右鍵按一下專案名稱,並選取 [屬性],來新增大部分建議的分析器套件。 選取 [程式碼分析] 來安裝分析器套件,以及設定要執行程式碼分析的時機。
.NET Core Tooling Analyzer Support
.NET Core 工具分析器支援
  • 我們先前已針對未匯入的類型新增 IntelliSense 完成。 此功能隨附關閉選項,讓不想要系統一律將未匯入類型填入 IntelliSense 的使用者可以關閉此功能。 現在,針對關閉未匯入類型完成的使用者而言,使用新增至 IntelliSense 切換選項的已匯入類型篩選,將可以更輕鬆地讓該功能再次在完成清單中顯示。
IntelliSense completion list expander
IntelliSense 完成清單展開工具
IntelliSense completion list expander triggered
已觸發 IntelliSense 完成清單展開工具
  • 現在已有適用於 XML 註解的快速諮詢樣式支援。 將游標放在方法名稱上。 快速諮詢接著會在程式碼上方顯示來自 XML 註解的支援樣式。
Quick info style support for XML comments
XML 註解的快速諮詢樣式支援

WPF/UWP 工具

建置 WPF/UWP 應用程式的客戶會在 Visual Studio XAML 工具中看到下列改進:

設計工具:

  • WPF 設計工具現在已正式推出 (GA),可用於 WPF .NET Core 專案:WPF .NET Core 應用程式的 XAML 設計工具現已向所有客戶正式推出 (GA),而且不需要預覽功能旗標。 WPF .NET Core 應用程式的 XAML 設計工具在某些行為和功能上與 WPF .NET Framework 設計工具稍有不同,請注意這是特別設計的。 考量到兩者有所不同,我們歡迎客戶使用 Visual Studio 意見反應功能回報可能發生的所有問題或限制。
WPF .NET Core XAML Designer
WPF .NET Core XAML 設計工具

XAML 偵錯工具:

  • 針對 WPF 資源字典變更新增的 XAML 熱重新載入支援:XAML 熱重新載入現在支援更新 WPF 資源字典,以在應用程式中取得即時更新。 先前這項功能僅適用於通用 Windows 平台 (UWP),但現在 WPF .NET Framework、WPF .NET Core 和 UWP 應用程式也支援這項功能。 支援的動作包括新增資源區段定義,以及新增、刪除和更新資源新的/現有的區段。
  • 應用程式內工具列現為可移動的狀態:應用程式內工具列已增強為可在執行中的 WPF/UWP 應用程式內移動,開發人員可透過此功能,在應用程式中將其向左或向右拖曳,以解除對應用程式 UI 的限制。 請注意,系統不會在工作階段間儲存工具列的擺放位置,當您的應用程式重新啟動時,即會回到預設位置。
In-app toolbar movable
應用程式內工具列可移動

UWP 套件簽署。

  • 重新加入透過資訊清單設計工具建立及匯入簽署憑證檔案 (.pfx) 的功能。
UWP signing
  • 引進了透過套件精靈建立及匯入簽署憑證,以簡化簽署流程的功能。
UWP signing packaging wizard

.NET 工具

  • 支援將新的 Open API 與 GRPC 服務參考新增至 .NET Core 3.0 專案。
  • 發佈 .NET Core 3.0 背景工作專案 Azure Container Registry、DockerHub 等。
  • 背景工作、gRPC、Razor 類別庫和 Blazor 的 .NET Core 3.0 範本會出現在 [新增專案] 對話方塊中。
  • 透過 .NET CLI 對 .NET Core 3.0 範本所進行的任何更新也會顯示在 Visual Studio 中。

C++

  • C++ 開發人員現在可以使用鍵盤快速鍵 Ctrl + KCtrl + / 來切換行註解。
  • IntelliSense 成員清單現在會根據類型限定詞進行篩選,例如 const std::vector 現在會篩選掉例如 push_back 之類的方法。
  • 已新增下列 C++20 標準程式庫預覽功能 (搭配 /std:c++latest):
    • P0487R1:修正 operator>>(basic_istream&, CharT*)
    • P0616R0:在 <numeric> 中使用 move()
    • P0758R1 \(英文\):is_nothrow_convertible
    • P0734R0:C++ 概念的擴充功能
    • P0898R3:標準程式庫概念
    • P0919R3:未具順序之容器的異質查閱
  • 新的 C++ Core 指導方針檢查 \(英文\),包括新的「列舉規則」規則集,以及其他常數、列舉和類型規則。
  • 新的預設語義顏色標示配置可讓使用者更輕鬆地了解其程式碼;您可以設定呼叫堆疊視窗來隱藏範本引數,且 C++ IntelliCode 預設會開啟。
  • 在 launch.vs.json 和 tasks.vs.json 中的個別目標和工作上,使用 CMakeSettings.json 或 CppProperties.json 或是新的 "env" 標籤,來搭配環境變數設定偵錯目標和自訂工作。
  • 使用者現在可以對遺失的 vcpkg 套件使用快速動作,以自動開啟主控台並安裝至預設的 vcpkg 安裝。
  • 由 Linux 專案 (CMakeMSBuild) 完成的遠端標頭複製已最佳化,且現在會以平行方式執行。
  • Visual Studio 的 WSL 原生支援 \(英文\) 現在支援適用於 MSBuild 型 Linux 的平行建置。
  • 使用者現在可以指定要使用 Linux Makefile 專案部署至遠端系統的本機組建輸出清單。
  • CMake 設定編輯器 \(英文\) 中設定描述時,現在會包含更多內容和有用文件的連結。

容器工具 (部分機器翻譯)

  • 建立 Azure Functions (v2) 的開發人員,現在可以將 Docker 容器支援 (僅限 Linux) 新增至其 C# 專案。 若要新增,請在 [方案總管] 中以滑鼠右鍵按一下專案名稱,然後選取 [新增] --> [Docker 支援]。 除了將 Dockerfile 新增至您的專案之外,系統也會將偵錯目標設定為 "Docker"。 這表示對 Functions 程式碼的偵測將會發生在執行中的容器內。 使用者將能夠叫用中斷點、檢查變數,以及使用 Visual Studio 提供的所有強大偵錯功能。
Debug Azure Functions running in Linux containers.
對在 Linux 容器中執行的 Azure Functions 進行偵錯

.Net Core 專案的資料庫分析

此版本包含透過效能分析工具 (ALT-F2) 提供之效能和診斷工具套件中的新工具。 新的資料庫工具將提供有關使用 ADO.Net 或 Entity Framework 之 .Net Core 專案中查詢的詳細資料。 此工具會提供用來連結至原始程式碼的 [移至原始程式碼] 選項,並提供分析工作階段期間所執行之每個查詢的時間詳細資料。 這項工具可以同時與效能分析工具中的其他工具搭配使用。 與 [CPU 使用量] 工具搭配使用時,可以取得有關使用資料庫之 .Net Core 程式碼的效能特性詳細資訊。

偵錯工具

  • [平行堆疊] 視窗已改善處理序中的工作及其相依性的視覺效果,讓您可以更輕鬆地診斷非同步程式碼中的問題。
Tasks visualization in parallel stacks window
已改善 [平行堆疊] 視窗中的工作視覺效果

F# 和 F# 工具

此版本包含F# 4.7 (最新版的 F# 語言) 的支援!

F# 4.7 有許多部分屬於基礎結構變更,可讓我們更有效地提供 F# 語言功能預覽。 不過,我們依然有提供一些很棒的新功能。

F# 語言與核心程式庫

我們新增了 F# 4.7 的支援,這是編譯器基礎結構隨附的次要語言版本,提供預覽功能,讓我們可以在開發過程中,及早得到關於功能設計的意見反應。

完整的 F# 4.7 功能集為:

除了 F# 4.7 功能集之外,此版本還包含下列預覽 F# 語言功能的支援:

  • nameof 運算式的支援
  • 開啟靜態類別的支援

您可以在專案檔中設定 <LangVersion>preview</LangVersion>,以啟用此功能。

此版本也包含下列 F# 編譯器的 Bug 修正和功能改進:

  • F# 編譯器可能發生含有大量記錄、結構或其他類型的堆疊溢位,而這個存在已久的問題現已解決 (#7070)
  • 指定無效的內嵌 IL 可能會導致 Visual Studio 損毀,而這個問題現已解決 (#7164)
  • 若結構已在 C# 中定義,並在成員呼叫中變化,結構的複製就不會發生,而這個問題現已解決 (#7406)
  • 編譯器所建立的可攜式 PDB 內容加密編譯雜湊並未包含在 PE 偵錯目錄中,且根據預設,可設定的雜湊設為 SHA-256 (#4259#1223)
  • Kevin Malenfant 修正了 LeafExpressionConverter 忽略 ValueType 並假設 System.Tuple 的 Bug (#6515)
  • Patrick McDonald 解決了 List.transpose 捨棄資料,而非擲回例外狀況的問題 (#6908)
  • reacheight解決了 List.map3 在用於不同長度的清單時,會產生誤導錯誤的 Bug (#6897)

F# 工具

這一版也對適用於 Visual Studio 的 F# 工具進行了幾項功能改進:

  • 記錄經過進一步格式化,使其看起來更像標準宣告,以及工具提示和 F# Interactive 中的值 (#7163)
  • 工具提示中的屬性現在會指定是否為僅限 get、僅限 setgetset (#7007)
  • 當檔案使用斜線時,「移至定義」及其他功能無法一直跨專案正常運作,而這個問題已在 chadunit 的協助下解決 (#4446#5521#4016)
  • 解決了匿名記錄和偵錯的問題 (#6728#6512)
  • 解決了來源中的空白雜湊指示詞可能造成來源文字著色看似不規則的問題 (#6400#7000)

IDE

  • [開始] 視窗中的 [搜尋] 方塊可讓您快速找到最近使用的專案、解決方案和資料夾。 此外,這些 MRU 程式碼容器與 Visual Studio 全域搜尋整合,可讓開發人員透過 Visual Studio 搜尋方塊找到它們。
Start window MRU search
在 [開始] 視窗中 [最近的專案] 清單內搜尋
  • 對 Visual Studio IDE 內的 [安裝程式] 對話方塊介面進行改善,以讓您更輕鬆地識別要新增至 Visual Studio 的特定工作負載。
  • VS 搜尋將會支援搜尋具有 C# 和 VB 之類型和成員的能力,以及針對所有語言的檔案搜尋。 當使用者輸入搜尋查詢時,系統將會顯示結果和「程式碼」群組,其可透過鍵盤快速鍵或以滑鼠按一下來存取。
  • 新安裝的專案範本會以 [新增] 標籤表示以便快速識別,且篩選會在 [新增專案] 對話方塊中顯示所選取的值。 此外,開發人員也可以針對範本進行釘選、取消釘選,以及從清單中移除,來整理最近使用的範本。
New Project Dialog
在 [新增專案] 對話方塊中查看新安裝的專案和所選取的篩選,以及釘選範本
  • 透過更強固的模糊搜尋 (可適應拼字錯誤與複數),在 [新增專案] 對話方塊中搜尋範本,並根據搜尋和篩選關聯性來醒目提示相符的關鍵字和排序結果。
New Project Dialog template search
已改善專案範本搜尋中的搜尋精確度和醒目提示

安裝程式

  • 為了提高生產力,現在只要按一下,Visual Studio 就會同時更新 Visual Studio IDE 和安裝程式。
  • 適用於 .NET Core 2.1 和 2.2 的 Visual Studio 安裝程式元件之前只會包含執行階段。 從此預覽版開始,這些元件也將會包含範本和執行階段。
  • Visual Studio 安裝程式的 [個別元件] 索引標籤中的搜尋方塊,可讓您快速找到所有可用元件以進行安裝。
Installer components search
在 Visual Studio 安裝程式中搜尋個別元件

IntelliCode

  • 根據預設,C++ 基本模型已開啟。
    • 您可以前往 [工具]>[選項]>[IntelliCode] 來變更此設定。
  • 我們為 C# 納入了重複編輯,這會分析本機編輯中是否有可重複的變更,並判斷相同檔案中可能需要這種變更的其他地方。
    • 建議的重複編輯會顯示在錯誤清單中,並在程式碼檔案中顯示為警告。

JavaScript/TypeScript

  • JavaScript 和 TypeScript 分類 (通常稱為「語法著色」) 將能更快速地套用至大型檔案。 JavaScript 和 TypeScript 程式碼修正和重構清單 (也就是燈泡) 也會更快速地顯示。
  • 現在提供 TypeScript 3.6 的編輯器支援。
  • 在編輯或變更 tsconfig 時,Visual Studio 現在會以更佳的回應速度重新整理專案。

Python 測試

  • Python 開發人員現在可以在 Python 專案和「開啟資料夾」工作區案例中,使用熱門的 Python 架構 pytest 來執行測試。
  • 若要針對 Python 專案啟用 pytest 和 unittest,請以滑鼠右鍵按一下專案解決方案名稱,然後選取 [屬性]。 在該處選取 [測試] 索引標籤以選取測試選項。 請注意,針對 unittest,您必須指定測試的目錄 (預設值為根目錄),以及測試檔案名稱的模式。 一旦在 [測試] 索引標籤中儲存變更,測試探索就會初始化。
pythontest_project
設定 Python 專案,以探索 pytests 或使用 unittest 撰寫的測試。 請留意:透過在 [輸出視窗] 中選取 [顯示以下項目中的輸出:測試],使用者就能查看與測試回合 (失敗和通過的測試都適用) 相關聯的記錄資訊。
  • Unittest 測試體驗已修改,使用者現在需要手動設定 Python 專案和「開啟資料夾」工作區的測試,因為系統已不會再自動探索這些測試:
  • 若要啟用 Python 資料夾的測試,請按一下 Show All Files 圖示以在 [方案總管] 中顯示所有檔案。 在該處按一下位於您 'Local Settings' 資料夾中的 PythonSettings.json 檔案 (如果沒有檔案,請建立一個)。 您可以在此檔案內,指定要使用的 'TestFramework',以及測試檔案名稱模式和包含測試的目錄 (這兩個選項都適用於 unittest):
pythontest_folder
  • 測試偵錯已更新為使用 PTVSD 4,但如果使用者想要繼續使用「舊版偵錯工具」,或是在使用新偵錯工具時遇到問題,則可以前往 [工具] > [選項] > [Python] > [偵錯] > [使用舊版偵錯工具],並選取核取方塊來加以啟用。
  • 具有現有專案以及位於包含測試檔案的「開啟資料夾」工作區中的使用者現在也能夠更容易地在 Visual Studio 2019 中快速繼續處理自己的程式碼。 當使用者開啟包含測試設定檔 (例如 pytest 的 .ini 檔案) 的專案,但尚未安裝或啟用 pytest 時,系統會提示他們安裝必要套件,並針對他們正在處理的 Python 環境進行設定:
pytest infobar
每當開啟包含未設定之測試檔案的 Python 專案或資料夾時,系統會提示使用者設定它們並安裝必要的測試套件 (在此範例中為 pytest)。
  • 同樣地,針對位於專案或「開啟資料夾」工作區中的 unittest 測試檔案,系統會提示使用者安裝和/或啟用測試架構。 在這兩種情況下,開發人員都可以選擇忽略訊息並手動設定架構。

Visual Studio 效能分析工具

  • [效能分析工具] 中的 [CPU 使用量] 工具,會在顯示呼叫樹狀結構時,自動顯示「最忙碌路徑」指標與紅色的火焰圖示。 這可以免於點按一般的 CPU 使用量效能調查。 您可以使用 Alt-F2 或從 [偵錯] 功能表來存取 [CPU 使用量] 工具。
  • [效能分析工具] 現在可用於在 Visual Studio IDE 中向前/向後瀏覽。 開發人員在 [效能分析工具] 中巡覽至各種不同的工具時,瀏覽點會與其他瀏覽項目一起儲存。 您可以按一下瀏覽按鈕,或在 Visual Studio 中使用瀏覽命令來使用它們。
Forward/Backward Navigation Image
分析工具中的向前/向後瀏覽

Web 工具

  • 使用新的 [新增相依性] 精靈,輕鬆地在發行設定檔中設定應用程式的相依性。 它目前支援將相依性新增至 Azure SignalR Service、Azure SQL Server,以及 Azure 儲存體,讓使用者不需要離開 IDE 就能佈建新執行個體或選取現有執行個體。
  • 基於熱烈要求,ASP.NET 執行階段小組已啟用從 Razor 類別庫內提供靜態內容的支援。 在此 Visual Studio 預覽版中,小組已新增適用於此案例的工具支援。

Xamarin

此版本包含下列 Xamarin SDK 更新:

  • Xamarin.iOS 13
    • 新增了 Xcode 11 的支援,以建置適用於 iOS 13、tvOS 13 及 watchOS 6 的應用程式並對其偵錯。 請參閱我們的 iOS 13 簡介,以取得可用新功能的詳細資料。
  • Xamarin.Android 10
    • Android 應用程式現在可以將 Android 10 設為目標,方法是在專案屬性頁的 [應用程式] 索引標籤下,將 [使用下列 Android 版本編譯:(目標 Framework)] 設定為 [Android 10.0 (Q)]。 Android 10 引進了深色佈景主題、手勢瀏覽以及折疊式裝置最佳化等功能。 如需這些新功能的詳細資訊,請參閱我們的 Android 10 with Xamarin (Android 10 與 Xamarin) 頁面。
android q
將 [使用下列 Android 版本編譯:(目標 Framework)] 設定為 [Android 10.0 (Q)]。

此版本也包含數個新工具功能和功能改進:

  • 此版本提供適用於 Xamarin.Forms 的 XAML 熱重新載入公開預覽。 XAML 熱重新載入可讓您在模擬器或實體裝置上對應用程式進行偵錯時,快速地逐一查看您的 UI。 只要編輯您的 XAML,然後儲存檔案,即可立即看到變更反映在執行的應用程式上。 若要啟用 XAML 熱重新載入,請前往 [工具] > [選項] > [Xamarin] > [熱重新載入]
xaml hot reload
適用於 Xamarin 的 XAML 熱重新載入。
  • 適用於 Xamarin.Forms 的 XAML 預覽工具現在會在使用 Xamarin.Forms Visual 時,轉譯 iOS 和 Android 的材質設計。
  • Xamarin Designer for iOS 引進了使用條件約束的新方式。 當您選取可限制的檢視時,省略符號現在會出現在 [條件約束釘選模式] 選取器旁的工具列中。 按一下省略符號,以在選取的檢視上顯示用於編輯條件約束的彈出視窗。
new ios constraints editor
新的 iOS 條件約束編輯器彈出視窗。
  • 您現在可以從 Windows 上的 Visual Studio 封存和發佈 iOS 應用程式。 將組態設為 [發行]|[iPhone],以滑鼠右鍵按一下方案總管中的 iOS 專案,然後選取 [封存...] 功能表選項,在與 Mac 電腦配對的情況下建立封存。 您可以從封存管理員將 .ipa 儲存到磁碟以進行臨機散發,或上傳到 App Store Connect 以將應用程式發佈到 App Store。
  • 當您以滑鼠右鍵按一下方案總管中的 .plist 檔案時,會有新的選項,可以使用一般 plist 設計工具或 XML 編輯器快速加以開啟。
new plist options
開啟 .plist 檔案的新選項。

已知問題

請前往以下連結,查看 Visual Studio 2019 16.3 版中的所有問題及可行的因應措施。

Visual Studio 2019 Known Issues

意見反應與建議

我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。 Feedback Icon 圖示位在右上角。 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。 您也可以透過我們的即時聊天支援取得免費的安裝協助。


部落格

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


Visual Studio 2019 版本資訊歷程記錄

如需舊版 Visual Studio 2019 的相關詳細資訊,請參閱 Visual Studio 2019 版本資訊歷程記錄頁面。


頁首