IDE
在 "开始" 窗口中按下 Alt 键 + 下划线所指示的字母可快速跳转到 "开始" 窗口中的不同操作, 并使用 "新建项目" 对话框屏幕来完成键盘辅助功能。
启动 Visual Studio 以加载文件时,将包括解决方案文件的任何文件类型拖动并放置到开始窗口。
通过拖动边缘重新调整开始窗口和新项目对话框的大小。 Visual Studio 会记住在两次调用窗口期间更改的大小。 在启动状态下,可双击标题栏区域来最大化窗口,单击任务栏图标来最小化窗口。
转到“工具”>“命令行”或通过 Visual Studio 搜索进行搜索来访问发开人员命令提示和开发人员 Power Shell。 从 IDE 中访问它们,会自动根据当前打开的解决方案或文件夹来设置其路径。
预览功能工具选项页面有全新的外观,可提供关于功能的更多信息。 查看此页面了解新功能并提供关于功能的反馈。
预览功能:启用“标准工具窗口布局”预览功能,通过减少打开功能窗口的影响来缩短 Visual Studio 的启动时间。
备份文件现已存储到临时文件夹,以避免使用与 OneDrive 同步的“我的文档”文件夹中不必要的存储空间
用户只需登录一次即可访问 Visual Studio、Azure CLI 或 Azure PowerShell 中的 Azure 资源。
使用开发人员 PowerShell,用户可以执行可从开发人员命令提示执行的所有操作,只不过现在是从逐渐熟悉的 PowerShell 界面完成。
Visual Studio 保留了两次调用新建项目对话框期间的语言、平台和项目类型筛选器,这样只需单击几下,即可轻松访问常用的模板。
扩展性
LSP:折叠范围已更新,以更好地支持大型代码片段
使用 Newtonsoft.Json 的扩展可能会利用新版本中的功能。
C++
对于使用 Clang 配置的本地 CMake 项目,代码分析现在运行 clang-tidy 检查,显示为编辑器警告(波形曲线)和错误列表中的后台代码分析的一部分。
更新了
<charconv>
C++17 的 P0067R5 的标头基本字符串转换:增加了
chars_format::fixed
和chars_format::scientific
精度的浮点to_chars()
工作负载(chars_format::general precision
是唯一尚未实现的部分)已优化
chars_format::fixed
最短增加了以下 C++20 标准库预览功能:
在
/std:c++latest
下可用:P0020R6:
atomic<floating-point>
P0463R1:endian 枚举
P0482R6:
char8_t
用于 UTF-8 字符和字符串的类型P0653R2:
to_address()
用于将指针转换为原始指针在
/std:c++17
和/std:c++latest
下可用:P0600R1:
[[nodiscard]]
位于库中在任何条件下均可用:
P0754R2:
<version>
标头P0771R1:
std::function
移动构造函数应为noexcept
Windows SDK 不再是用于 Windows 的 CMake 和用于 Linux 的 CMake 组件的依赖项。
对 C++链接器进行了改进, 以显著提高输入最大的迭代生成时间。
/debug:fast
和/incremental
时间已按2x 和/debug:full
3-6 倍进行了改进。
Visual Studio 安装程序支持
Visual Studio 安装程序现在可以根据用户已安装的内容对改进的空间大小进行检测。 如果所需的空间大小明显大于所提供的大小,那么之前的警告现在会转换为错误并阻止安装。
Microsoft Edge 内部人员支持
Visual Studio 现在为 ASP.NET 和 ASP.NET core 项目在新的 Microsoft Edge Insider 浏览器中调试 JavaScript。
安装浏览器、设置应用程序 JavaScript 中的断点并使用 Edge Insider 浏览器开启调试会话。 Visual Studio 将在启用调试的情况下启动新浏览器窗口,以允许开发人员在 Visual Studio 中单步调试应用程序 JavaScript。
Visual Studio 还支持使用“浏览方式”选项调试自定义浏览器配置,以使用自定义 CLI 参数(如 ---inprivate)启动浏览器。
.NET
用户已请求恢复“对 Using 排序”命令,此命令不同于“删除 Using 命令”。 “编辑”>“IntelliSense”下现在提供“对 Using 排序”命令。
用户现在可以将 switch 语句转换为 switch 表达式。 当 switch 表达式全新的 C# 8.0 功能时,在项目文件下,验证语言版本是否已设置为预览版。 将光标置于 switch 关键字和类型 (Ctrl+.) 中,以打开快速操作和重构菜单,然后选择“将 switch 语句转换为表达式”。
开发人员现在可以通过代码修复生成参数。 将光标置于变量名称和类型 (Ctrl+.) 中以打开快速操作和重构菜单。 选择此选项以生成变量,从而生成新参数。
测试资源管理器
测试资源管理器现在包含重大 UI 改进,其中包括改进了大型测试集处理,使筛选更为自然,增加了可发现的命令,并添加了允许用户微调显示的测试信息的可自定义列。
Visual Studio 进程占用的内存大幅减少,包含大量测试的解决方案的测试发现速度更快。
借助新筛选器按钮,用户可以根据测试结果轻松筛选视图。 单击一次即可显示失败的测试!
借助“运行未通过的测试”和“运行以前的测试运行”的附加按钮,可以轻松发现部分最常用的与测试相关的键盘快捷方式。
用户通过选择要显示的列,即可快速自定义测试显示的信息! 在调查性能时可以查看“持续时间”列,在比较结果时可以使用“消息”列。 在可自定义性方面,此表布局类似于“错误列表”表。 此外,还可以使用筛选器图标筛选列(将鼠标悬停在列标题上,即会显示相应图标)。
用户可以指定测试层次结构的各个层显示的内容。 默认层有“项目”、“命名空间”和“类”,但也可选择“结果”或“持续时间”分组。
测试状态窗口的可用性增强(测试列表下面显示消息、输出等的窗格)。 用户可以复制文本的子字符串,并且固定字体宽度以获取更多可读的输出。
多个选项卡可显示播放列表,并且可以根据需要轻松创建和弃用它们。
在测试资源管理器中,Live Unit Testing 现在拥有自己的视图。 它显示 Live Unit Testing(即实时测试集)当前包括的所有测试,这样测试人员便可以轻松地跟踪 Live Unit Testing 结果,无需手动运行测试结果。
提供了可显示多目标测试结果的目标框架列。
Android
适用于 Visual Studio 的所有版本。
在 Android 应用程序中使用 AndroidX, AndroidX Nuget 现在为预览版。
此版本包含以下 Xamarin. Android SDK:
iOS
此版本包含以下 Xamarin iOS SDK:
弃用的项
创建新的 Azure DevOps Server (TFS) 项目的项目创建向导已从团队资源管理器中删除。 想创建新项目的用户仍可以转到其 Azure DevOps Server 实例并通过 Web UI 创建项目。
连接到 Azure DevOps Server (TFS) 项目时,Sharepoint 集成选项卡已从团队资源管理器中删除。 Azure DevOps/Sharepoint 集成已在 TFS 2018 中弃用。
Visual Studio 2019 版本16.2 中已修复的主要问题
已修复的已知问题:从模板启动新的 nanoFramework 项目时停止响应。
已修复的已知问题:单击 Visual Studio 时 SQL 发布对话框处于隐藏状态。
修复了已知问题: iOS 应用未生成和部署。
已修复的已知问题:在运行 WPF 应用之后,Visual Studio 停止一段时间。
已修复的已知问题:调试器进程运行很长时间人,然后崩溃。
已修复的已知问题:编译器和链接器中的内部错误
已修复的已知问题:调试器进程花费了较长的时间, 然后发生崩溃。
已修复的已知问题:可以从模板启动新的 nanoFramework 项目
已修复的已知问题:单击 Visual Studio 时, SQL 发布对话框处于隐藏状态
已修复的问题:增加 AndroidClientHandler 超时
修复了在输入新行时阻止缩进的 Live Share 错误。
修复了工作流设计器中的 bug, 导致其停止响应。
修复了导致其停止响应的诊断中心问题。
修复了在卸载多个项目时出现 null 异常错误。
修复了阻止用户在 Xbox 或远程设备上调试其 UWP 测试的问题。