Visual Studio 2017 15.8版

约翰蒙哥马利

今天我们要发布Visual Studio 2017 15.8版。在本版本中,我们重点关注生产力、性能和错误修复。你会发现有很多新功能很有用,但在这篇文章中,我将强调你可能最感兴趣的亮点。有关今天发布的所有更新的完整列表,请查看Visual Studio 2017 15.8版发行说明和列表您提交的错误已修复。如果您希望在不安装版本的情况下首先尝试这些更新,请查看Azure中的Visual Studio图像.

值得一试的几个显著补充:

  • 多卡编辑改进
  • 更快的git分支切换
  • 更快的单元测试执行
  • TypeScript 3.0支持

请继续阅读以了解更多详细信息。

生产力

此版本增加了显著的生产力和调试增强功能。

多卡编辑。现在可以轻松地同时编辑文件中的多个位置。首先在支持多重插入符号的文件中的多个位置创建插入点和选择。这将允许您同时在多个位置添加、编辑或删除文本。

  • 插入插入符号Ctrl+Alt+鼠标左键单击
  • 在下一个位置添加与当前选定内容匹配的选定内容和插入符号Shift+Alt+Ins.
  • 请参见编辑>多个插入符号获取完整的操作列表。

上下文导航。现在可以使用快捷方式访问上下文导航菜单Alt+键`.

Visual Studio代码和ReSharper(Visual Studio)的新键绑定配置文件。说到快捷键,您现在可以将键绑定与两个新的键盘配置文件保持一致:Visual Studio代码ReSharper(Visual Studio)。您可以在“工具”>“选项”>“常规”>“键盘”和顶部下拉菜单下找到这些方案。

键盘映射

新命令和对“全部转到”窗口的改进:

  • 转到封闭块(Ctrl+Alt+向上箭头)允许您快速导航到封闭代码块的开头。
  • 转到下一个/上一个问题(Alt+PgUp/PgDn)允许您跳到下一个/上一个问题(错误、波形符号、灯泡)。
  • 转到成员(Ctrl+T,M组合键)现在默认情况下作用域为该文件。通过将范围切换为当前文档,可以将默认值更改回解决方案(Ctrl+Alt+C组合键).

还有……使用Ctrl+进行更多重构和快速操作。或Alt+Enter:

  • 反转If使您能够反转if-else语句中的逻辑。将光标放在if关键字中以触发此重构。
  • 从方法调用站点添加参数允许您通过向方法调用站点添加参数并触发来向方法添加参数快速行动和重构.
  • 删除不必要的括号删除编译中不必要的二进制运算符周围的括号。您可以通过配置此样式规则工具>选项>文本编辑器>C类#>代码样式>概述或.editorconfig:
    • dotnet样式括号输入算术二进制运算符
    • dotnet样式括号_in_relational_binary_operators
    • dotnet样式括号输入其他二进制运算符
    • dotnet样式括号输入其他运算符
  • 在赋值和返回语句中使用三元条件也可以在中配置为样式规则工具>选项>或通过.editorconfig:
    • dotnet样式首选条件表达式覆盖赋值
    • dotnet样式首选条件表达式覆盖返回

选择Visual Studio的开发与调试实例。当您安装了多个Visual Studio 2017实例时,现在可以选择在调试时将扩展部署到哪个实例。例如,通过这种方式,您可以在VisualStudio发布频道中进行开发,同时在预览频道中进行调试。

性能

在这个版本中,我们继续关注性能,并在许多方面做出了重大改进。

Git分支校验和分支切换对于大型解决方案,C#、VB和C++项目的Git分支签出和分支切换要快得多,因为不再需要重新加载解决方案。

不重新打开上一个会话中的文档的选项。我们得到了有关在某些情况下,当Visual Studio从以前的会话中重新打开文档时,它是如何不需要的,以及它会导致性能延迟的反馈。因此,在此版本中,我们添加了一个选项,以禁用重新打开在前一个会话中打开的文档。您可以在中切换此选项工具>选项>项目>解决方案>常规.

测试性能。在具有多个测试项目的大型解决方案中运行一些测试时,我们显著提高了性能。在我们的实验室中,一个包含10000多个MSTests的解决方案执行单个测试的速度提高了82%!

CPU使用工具性能改进。关于CPU使用工具,我们有一些值得注意的改进需要强调。性能档案器(ALT-F2)中的CPU使用率工具现在可以在暂停状态下启动,这意味着它在特别启用之前不会收集任何CPU使用率示例堆栈数据。这使得收集和分析的数据量大大减少,从而使性能调查更加高效。启动目标应用程序后,监控显示屏将显示CPU利用率图,并允许您控制CPU分析,并根据需要多次启用/禁用样本数据采集。

暂停/继续收集CPU使用数据

.NET对象分配跟踪工具NET对象分配跟踪工具加入了性能档案器(ALT-F2)中可用的工具系列。为性能分析器会话调用此工具会为每个收集堆栈跟踪。目标应用程序中发生的NET对象分配。此堆栈数据与对象类型和大小信息一起进行分析,以揭示应用程序内存活动的详细信息。您可以快速确定代码中的分配模式并识别异常。此外,对于垃圾收集事件,您可以轻松确定收集了哪些对象和保留了哪些对象,从而快速确定支配应用程序内存使用的对象类型。这对于API编写器帮助最小化分配尤其有用。在测试应用程序执行时,Performance Profiler会显示一个监控视图,其中包含实时对象(计数)的折线图以及对象增量(更改百分比)条形图。

这个。NET对象分配跟踪工具

C++开发

符合C++11标准。一个新的、实验性的、基于令牌的预处理器,符合C++11标准(包括C99预处理器功能),使用/terimental:preprocessor开关启用。这将由宏控制_MSVC公司_TRADITIONAL,使用传统预处理器时定义为1,使用符合新实验标准的预处理器时为0。

C制动器.向CMakeSettings.json添加配置现在只需选择模板即可。

C++只是我的代码。C++只是我的代码调试使您现在能够来自系统或第三方C++库的步进代码除了在call-stack窗口中折叠这些调用之外。当使用/JMC(调试配置的默认值)编译代码并且在.natjmc文件中指定非用户库路径时,可以控制任何C++库的这种行为。如果系统库调用用户代码,当您介入时,调试器将跳过所有系统代码,并在用户代码回调的第一行停止。

代码分析经验。代码分析现在可以在后台运行打开或保存文件时,结果将显示在错误列表中,并在编辑器中显示为绿色波形符号。您可以在“工具”>“选项”>“文本编辑器”>“C++”>“实验”>“代码分析”下启用新的正在进行的功能。

代码分析结果显示在错误列表中,并在编辑器中显示为绿色波形符号

用于Visual Studio的F#4.5和F#工具

F#语言4.5版。在此版本中,我们将引入F#语言版本4.5。这也与FSharp的新4.5.x系列相对应。Core(F#核心库)。有了这个,很多人对F#编译器的改进。您可以在F#RFC存储库.

用于Visual Studio的F#工具。一些显著的改进包括IntelliSense性能、事务性支架完成、实验性CodeLens实现,以及社区提供的可能的错误修复。 社区驱动的分析和提高超大文件的智能感知性能的工作由瓦西里·基里琴科,斯特芬·福克曼、和Gauthier Segay公司现在,在非常大的文件(10k多行代码)中的智能感知速度大约是现在的两倍。现在可以自动完成事务性支撑(),[],{},[| |]、和[<>]支撑对。我们与纪伯伦罗莎。现在有一个实验性的CodeLens实现,由维克托·彼得·鲁文·穆勒。您可以在中打开它选项>文本编辑器>F#>编码镜头。请查看发行说明,以查看许多其他错误修复和改进用于Visual Studio的F#工具使用此版本。

JavaScript和TypeScript工具

TypeScript 3.0版。默认情况下,此版本的Visual Studio包含TypeScript 3.0。

支持Vue.js库得到了改进,特别是对.vue文件的支持,也称为“单文件组件”。如果安装了Node.js工作负载,则“新建项目”对话框中的“JavaScript/Node.js”或“TypeScript/Node.js”路径下现在将有“Basic Vue.js Web Application”模板。下面显示了在.vue文件中的脚本块内编辑TypeScript代码的示例。

ESLint支持.ESLint支持已在此版本中重新实现。因此,VisualStudio现在将在您编辑时对JavaScript文件进行lint处理。默认情况下,ESLint已更新为使用ESLint 4,但如果您的项目具有本地安装的ESLint,它将使用该版本。你可以放松;通过取消选中下面所示位置的“工具/选项”对话框中的“启用ESLint”设置,可以在VS中全局禁用ESLint。

查看TypeScript 3.0发布公告了解所有细节。

Visual Studio Web工具

图书馆管理员.Library Manager是Visual Studio 2017中包含的一项新功能。它可以帮助您管理web项目中的客户端库。

单项目Docker容器。我们为ASP添加了一个新的单项目Docker容器体验。NET核心web项目。这补充了现有的基于Docker Compose的容器工具,并提供了从Visual Studio创建、调试和构建Docker容器的更简单、更容易的方法。

Android手机开发

支持Google Android Emulator。此版本增加了对与Hyper-V兼容的谷歌Android模拟器当在Windows 2018年4月10日更新上运行时。这使您可以将谷歌的Android仿真器与其他基于Hyper-V的技术并行使用,包括Hyper-V虚拟机、Docker工具、HoloLens仿真器等。使用Hyper-V的移动应用程序开发人员现在可以访问一个快速的Android模拟器,该模拟器始终支持最新的Android API,与Google Play Services配合使用,并支持Android模拟器的所有功能,包括摄像头、地理位置和快速引导。

Xamarin-HyperV病毒

Xamarin,安卓系统设计师。我们做了显著改善设计师体验用于Xamarin.Android。最重要的是,引入了一个分割视图编辑器,允许您同时创建、编辑和预览布局

Anroid设计器拆分视图

.NET和ASP。净值

.NET核心SDK 2.1.400。包含Visual Studio 15.8。NET核心SDK 2.1.400。新的SDK功能包括添加了NUnit模板、添加了对签名全局工具的支持,以及改进的帮助文本以提高清晰度

ASP。净利润。NET Framework机密支持。对于ASP。净收入。目标的NET Framework项目。NET Framework 4.7.1或更高版本,现在可以通过右键单击项目并选择“托管用户机密”,在usersecrets.xml中打开并存储源代码中不需要的机密。

.NET框架4.7.2。Visual Studio 2017版本15.8现在提供了。NET Framework 4.7.2开发工具,适用于所有支持的平台,包括4.7.2运行时。这个。NET Framework 4.7.2提供了一些新功能和改进,以及许多可靠性、稳定性、安全性和性能修复。您可以找到有关的更多详细信息。NET Framework 4.7.2在这些文章中:

分享您的反馈

一如既往,我们想知道你的想法。请安装Visual Studio 2017 15.8版并分享您的想法和担忧。

请通过报告问题Visual Studio中的工具。您可以在中跟踪您的问题Visual Studio开发人员社区在那里你可以提问并找到答案。您还可以通过我们的新Gitter社区(需要GitHub帐户),通过用户语音,或通过获取免费安装帮助实时聊天支持.

谢谢,

约翰

反馈usabilla图标