RESHARPER2018.1有哪些创新
ReSharperUltimate 2018.1改进了代码导航;了解C#7.2以及全方位的C#7语言支持,并提供诸如价值跟踪等功能。引入了EditorConfig和StyleCop感知的代码格式检查;可以在连续模式下运行任何单元测试会话。
在这个版本中,我们可以肯定地说ReSharper理解C#7.2的细节。ReSharper获得以下缺少的部分来完成拼图:
非尾随命名参数;
私人保护访问修饰符;
数字文字中的下划线;
在参数中;
ref只读回报和当地人;
只读结构类型;
ref结构类型;
条件参考运算符。
Goto File Member有一个新的分组,可以在单个文件中更好地呈现多个类,并且会员现在按照它们在文件中声明的顺序进行排序。
在“最近使用的文件”中搜索时,文件搜索结果现在包含在匹配最近的项目后立即显示。如果您正在查找未将其添加到最近文件列表的文件,这非常有用。
SearchEverywhere有一个新的单元测试过滤器,专注于来自单元测试项目的代码实体,如果这正是你想要的。
最后但同样重要的是,当您在类上调用FindUsages时,如果在类中没有定义构造函数,现在可以选择将搜索结果限制为默认的构造函数用法。
无论何时,您都希望在不遵循格式规则的情况下直接在代码中进行通知。考虑到这一点,ReSharper的代码格式引擎引入了格式化程序相关问题的检查和快速修复:现在可以观察到缩进,换行符,空格和空行,并直接在代码编辑器中进行修复。
默认情况下,它们被禁用,以免打扰任何不关心输入时格式化的人。转到ReSharper| 选项|代码检查|检查严重性以查看所有可用的格式化程序检查并选择您希望通知它们的那些严重程度级别。
除了支持最新的C#语言版本之外,ReSharper还不断改进对先前C#版本的支持。在此版本中,我们添加了新代码样式,代码检查,快速修复和上下文操作,以便在解构声明与var之间进行选择,以及使用显式和隐式丢弃。
此外,更多的ReSharper功能现在支持解构:有一个新选项可以解构IntroduceVariable重构和.varpostfix模板中的值,.foreach后缀模板中的解构迭代器变量选项以及两个新的上下文操作Mergedeconstructed declaration和Deconstruct变量。
在此版本中,ReSharper开始从.editorconfig文件中读取代码样式设置(ReSharper|代码编辑|C#|代码样式),并扩展了对Roslyn语言约定的支持。
.editorconfig现在也可以用于为任何范围设置检查严重性:整个解决方案,项目甚至特定文件。同时,检查严重性设置仍然可以从项目的.dotSettings文件中读取。这意味着项目可以具有不同级别的启用/禁用检查的不同定制集合。
如果要启用此混合源检查设置模式,请转至ReSharper|代码检查|设置|常规“并选择”从editorconfig和项目设置中读取设置“。
与ReSharper处理Roslyn编码约定的方式相同,它也将直接从StyleCop配置文件中读取StyleCop规则。要启用此功能,请选择ReSharper|下的启用StyleCop支持代码编辑|一般格式化程序样式。
同时使用EditorConfig文件和StyleCop配置文件时,EditorConfig文件将始终优先于StyleCop配置文件,而这些配置文件优先于ReSharper自己的设置。
价值跟踪水平-支持一些C#7主要功能。即使您正在使用ref-returning方法,模式匹配或out变量,ValueOrigin / Destination现在也准备好帮助您跟踪特定变量的值。
ReSharper引入了一些新功能来处理代码中的注释。
评论代码操作使用的评论位置现在取决于设置ReSharper下的第一列开始的缩进注释|代码编辑|C#|格式化样式|选项卡,缩进,对齐。
以前,在行注释中按Enter键会使代码处于不可编译的状态。从现在开始,按Enter键将单个评论分成两个评论。这使您可以快速将评论分成任意数量的评论。
ReSharper的其他升级如下所示:
ReSharper Build引擎中支持Pre / Post-build任务。
方法调用/声明,换行符和包装LINQ表达式中括号的新设置。
对ISet中可能无意识的线性搜索进行新的检查。
导航功能中的记住上次搜索选项现在默认启用。 选项的状态包括库类型也被保存。
没有更多单独的连续测试会话!现在可以为任何单元测试会话启用连续测试模式。在dotCover2017.3及更早的版本中,您的连续测试范围受到单个连续测试会话的限制。现在,您可以根据需要拥有尽可能多的连续测试范围。
在构建或保存解决方案之后,以前版本的dotCover始终会在覆盖模式下自动启动测试。2018年1月,覆盖范围不再是必要的:您可以告诉dotCover只运行新的和过时的测试而不覆盖它们。如果您已经拥有最新的覆盖快照,这可能会节省很多时间。
覆盖率信息现在显示在单独的“单元测试覆盖率”窗口中,而不是“每个会话覆盖率”选项卡中。这有助于您在一个地方查看所有单元测试会话的汇总覆盖数据。
步骤过滤器是由ReSharperC ++提供的用于调试的主机功能的最新成员。当您调用StepInto时,VisualStudio调试器通常会进入从当前语句调用的所有函数。但是,其中一些功能不是微不足道的,就是经过了很好的测试,你不想介入它们。这就是步进过滤器的用途:您可以指定应始终由调试器跨越的功能。
ReSharperC ++为标准库提供了预定义的步骤过滤器集合,但您可以随时添加新的步骤过滤器。
编译时间是大型现实世界C++项目中最大的问题之一.ReSharperC ++ 2018.1引入了包含分析器,这是一种新的代码检测工具,可帮助您判断项目中哪些头文件对代码行的贡献最大总编译工作量。 要使用它,请调用其中一个ReSharper| 检查|分析包含在...操作中或从解决方案资源管理器的上下文菜单中选择分析包含。ReSharperC ++将分析给定范围内的文件,并在专用工具窗口中提供报告。