Visual Studio 2019 16.5版现已推出
自上一次小版本发布以来,位于雷蒙德的Visual Studio 2019团队一直生活在一个永远灰蒙蒙、潮湿的冬季天空下。 谢天谢地,我们开始看到太阳定期出现。 我们希望这一最新版本也能为您带来光明。 Visual Studio 2019版本16.5包含XAML的预期新功能。 NET、C++和调试。 此外,我们还解决了预览版中的几个问题。 我们相信,这种组合将使您的开发人员之旅更有成效。 如果您对我们的产品有任何其他想法,我们邀请您参加我们的 开发者社区 论坛。
在我详细阐述的时候,为什么不下载我们的最新版本,自己试试呢? 还要记住,所有更改的更完整列表可在 Visual Studio 2019发行说明 .
.NET移动开发
我们要讨论的第一个功能是 Xamarin.Forms的XAML热重新加载 。此功能可加快开发速度,并使构建、实验和迭代移动应用程序的用户界面变得更加容易。 怎么用? 你不需要每次调整UI时都重新构建你的应用程序,因为在应用程序运行时会立即显示更改! 因为这会在您进行更改时更新,所以如果您与应用程序进行了交互,那么在进行更改时应用程序的状态不会丢失。 因此,您不必像以前那样重新创建回购。 那太令人兴奋了,不是吗?
我们听到了许多关于通过共享的特定需求的反馈 开发者社区建议 。由于事实上,您希望看到XAML在多个目标(如iOS模拟器和Android模拟器)上即时重新加载所做的更改,因此我们添加了该功能。
. NET生产力
帮助。 NET Productivity在此Visual Studio 2019版本16.5中提供了多个功能。
首先,您可以转换 如果 对的语句 转换 语句或开关表达式。 为此,请将光标放在if关键字上。 按下 Ctrl键 + . 触发 快速行动和重构 菜单。 最后,选择 转换为“switch”语句 或 转换为“switch”表达式 .
在Visual Studio 2019中转换if-to-switch语句。
智能感知
此外,IntelliSense现在支持完成未导入的扩展方法。 要访问此功能,您需要在中启用此选项 工具 > 选项 > 文本编辑器 > C类# > 智能感知 >并选择 显示来自未导入命名空间的项(实验性) .
简化插值
此外,我们还增加了 简化字符串插值 重构。这将有助于 字符串插值 更加清晰简洁。 将光标放在字符串插值上。 按下 Ctrl+键。 触发 快速行动和重构 菜单并选择 简化插值 .
可以通过“快速操作和重构”菜单简化插值。
这个 提取局部函数 重构允许您将现有方法中的代码片段转换为本地函数。 突出显示要提取的代码。 按下 Ctrl+键。 触发 快速行动和重构 菜单并选择 提取局部函数 .
您可以通过“快速操作和重构”菜单提取本地函数
这个 使成员静态 代码修复通过使非状态成员成为静态成员来帮助提高可读性。 将光标放在成员名称上。 按下 Ctrl+键。 触发 快速行动和 重构 菜单并选择 使为静态 .
可以通过“快速操作和重构”菜单使成员成为静态成员。
测试
我 问题 在代码中。 现在可以分析。 NET核心测试。 这样做你的。 NET核心项目必须配置为 生成完整PDB 的。 我们还建议将Microsoft升级到16.4的最低版本。 测试。 SDK。 这将使您能够在x86和x64体系结构设置中评测测试。 要评测测试,请选择 简况 从测试资源管理器的上下文菜单中。 通过静态检测和 性能资源管理器 (.vsp)文档。
在C++和中调试。 净值
可固定属性 已经是 一 流行的 工具 用于托管代码 调试。 具体来说,这允许 无需钻取对象即可快速查看对象的属性。 这个 特征 现在是 在C++中可用于“数据提示”和“自动”、“本地”和“监视”窗口。 要使用该工具,请将鼠标悬停在属性上并选择显示的可切换管脚图标,或选择 将成员固定为收藏夹 选项,将所选属性冒泡到调试器显示的顶部。
调试器中的固定属性工具
我们还添加了一个新功能,以帮助您调试多线程应用程序。 这有助于 避免努力 确定死锁或其他 线程相关的错误。 随后, 现在您可以查看哪个托管线程持有。 NET对象锁定 调用堆栈窗口、并行堆栈窗口 和的位置列 “线程”窗口 .
“调用堆栈”窗口、“并行堆栈”窗口中的.NET对象锁定
在之前的更新中,我们使调试在中运行的进程成为可能 Docker Linux容器。 现在, 你可以 在中执行相同操作 Docker Windows容器。 为了尝试一下 连接并调试 .NET框架。 NET核心和C++ 中的进程 附加到进程 窗口,方法是选择 Docker(Windows容器) 连接类型 .
Docker Window容器进程
最后, 对于在 开放式Enclave SDK 我们在Visual Studio 2019版本16.5中添加了调试支持。 所以,你可以 现在调试这些 应用 从内部 产品 ,f 或更多信息 信息 ,转到 aka.ms/OpenEnclaveVisualStudio .
这个 . NET对象分配工具已更新,其更改旨在帮助您更轻松地可视化数据,并减少您花费在内存调查上的时间。
首先,回溯视图被移到了一个单独的面板上,使您能够更容易地区分分配类型和被调用类型中的函数。 此外,当选择了分配类型时,调用树将从叶节点定向到根节点,以便更快地查看哪个特定函数分配了最多的内存并需要更改。 最后,分配类型面板和回溯视图中都添加了一个新的平均大小列。 如果您试图调查什么分配类型或函数在每次分配中占用了大量内存,则此信息非常有用。 此外,所有这些列都是可排序的,可以打开或关闭,这样您就可以自定义表,使其看起来像您想要的那样。
此外,请注意 新图标添加到分配、调用树和函数视图中,因此更容易可视化正在分配的类和结构。 这两个图标表示值类型(蓝色)和引用类型(黄色)。 顺便说一句,VisualStudio很快就会有更多其他用户体验,例如更多图标和性能改进 !
.NET对象分配工具
Visual Studio 2019版本16.5中的C++改进
Visual Studio 2019 16.5版对C++跨平台和CMake开发体验进行了几项改进 。从这个版本开始,y 您现在可以与存储的rem进行交互 通过命令行进行ote连接。 这对于诸如提供新的开发机器或在持续集成中设置Visual Studio之类的任务非常有用。
通过开发人员命令提示符与存储的删除连接交互
此外,此版本还提供了利用本机支持 用于Linux的Windows子系统 当分离您的 从远程部署m构建系统 机器 ,允许您在WSL上本机构建并将构建工件部署到第二个远程 机器 用于调试。 CMake项目和 MSBuild(MSBuild) -基于Linux项目。
Visual Studio 16.5版本使它比以往任何时候都更容易 到 工作 具有 在Visual Studio中生成项目。 具体来说,t 他的释放带来了 能够 在IDE中添加、删除和重命名CMake项目中的源文件和目标,而无需手动编辑CMake脚本。 什么时候? 添加 ing和 移除 惯性导航与制导 VisualStudio将自动编辑CMake项目。 此外,您还可以从解决方案资源管理器的 目标视图,如下所示。 你可以了解更多 关于这个和r 相关特征 在 C++团队博客 .
在CMake项目中添加、删除和重命名源文件
新的CMake代码导航功能,如 去吧 收件人 定义和查找所有参考使探索和理解复杂的CMake项目变得更加容易。 导航功能支持CMake脚本文件中的变量、函数和目标。 它们可以在整个CMake项目中工作,比在文件和文件夹中进行天真的文本搜索更高效。 此外,它们还与其他IDE生产力特性集成,例如 作为 Peek定义 .
立即下载Visual Studio 2019版本16.5!
正如您所看到的,Visual Studio 2019 16.5版提供了大量新功能,可以帮助您完成开发项目。 今天试试看,告诉我们你的想法。
此外,如果您想尝试未来的功能,请查看我们的预览频道,尝试我们的下一个产品迭代。 此预览版对WFT/UWP工具、JavaScript/TypeScript和Web工具进行了额外的更改。 这个 版本16.6预览1发行说明 给出每个功能的详细信息。
一如既往,我们期待您的反馈!