微软最新发布了 Visual Studio 2019 16.5 版本,主要更新内容如下:
NET 移动开发 首先要讨论的特性是 XAML Hot Reload for Xamarin.Forms。此功能可加快开发速度,并使开发者可以更轻松地在移动应用的用户界面上进行构建、实验和迭代。
且无需在每次调整 UI 时都重新构建应用程序,因为更改会在应用程序运行时立即显示。它会在你每一次更改时实时更新,如果与应用程序进行了交互,并进行更改时,应用程序的状态不会丢失。
.NET 生产力
关于 .NET 生产力效率的提高,该版本也带来了一些新功能。
一是,可以将 if 语句转换为 switch 语句或 switch 表达式。将光标放在 if 关键字上,按下 Ctrl+,触发“快速操作和重构”菜单。最后,选择转换为 “switch”语句(Convert to ‘switch’ statement)或转换为 “switch” 表达式(Convert to ‘switch’ expression)即可。
IntelliSense
此外,IntelliSense 现在支持未导入扩展方法的完成。要使用此功能,需要在“工具”>“选项”>“文本编辑器”>“C#”>“Intellisense”>中启用此选项,然后选择“显示未导入的命名空间中的项目(实验性)”。
简化插值
此外,新版本添加了简化字符串插值重构的功能,这将使字符串插值更加清晰明了。将光标放在字符串插值上。按 Ctrl+。触发“快速操作和重构”菜单,然后选择“简化插值”。
提取局部函数重构可以将代码片段从现有方法转换为局部函数,高亮要提取的代码。依然是触发“快速操作和重构”菜单,然后选择“提取本地功能”。
Debugging in C++ and .NET
Pinnable Properties 是流行的托管代码调试工具,它可以用来快速查看对象的属性。现在,C++ 中的 DataTips 以及“自动”、“本地”和“监视”窗口均提供了此功能。
此外还添加了一项新功能,可用于调试多线程应用程序。这有助于避免费力地确定死锁或其他与线程相关的错误的根源。现在可以在 “Call Stack” 窗口、“Parallel Stacks” 窗口和 “Threads” 窗口的位置列中查看哪个托管线程正在持有 .NET 对象锁。
在之前的更新中,调试在 Docker Linux 容器中运行的进程成为可能。现在,也可以在 Docker Windows 容器中执行相同的操作。
最后,对于在 Open Enclave SDK 上构建应用程序的开发人员,Visual Studio 2019 16.5 中也添加了调试支持。
完整更新列表:
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#16.5.0