XAML特征包括XAML代码中的XML编辑,所有的ReSharper代码完成特征,几个重构(包括重命名重构),和实时错误提示,语义和语法分析。上面的截屏中显示在XAML资源中的敏捷的代码完成工作。
ReSharper Ultimate2018.2新功能
1、性能改进
每个版本,我们都会进行大量的性能改进和错误修复,以限制ReSharper对Visual Studio的影响,提高响应速度并消除UI冻结。
对于2018.2版本,我们在ReSharper的不同部分进行了大约30次性能修复,从加快EditorConfig支持到减少解决方案加载时间。
2、使用ReSpeller进行集成的拼写检查
此版本附带ReSpeller扩展,可提供开箱即用的拼写检查功能。与代码分析一样,ReSpeller会扫描标识符,注释,字符串文字等中的拼写错误和拼写错误,并提供快速修复程序来解决每个检测到的问题。默认情况下,ReSpeller支持许多语言的ReSpeller。
我们可以调用Alt + Enter菜单,其中ReSpeller为我们提供了几个修复错误的选项。在菜单中,我们可以修复拼写错误或在ReSpeller的字典中添加新单词。
3、C#7.3支持
ReSharper现在支持最新C#7.3的所有功能:
- 初始化器和查询中的声明表达式。
- 元组平等。
- 参考作业。
- Unmanaged,System.Delegate和System.Enum约束。
- Stackalloc数组初始化器。
- 基于模式的固定语句。
- 索引可移动的固定缓冲区。
4、最初的Blazor支持
实验项目Blazor是一个基于.NET的单页Web应用程序框架,它在浏览器中使用WebAssembly运行。 即使Blazor现在被宣布为实验,我们已经在ReSharper中为这个有前景的框架添加了初始支持。 例如,代码完成包括所有可能的指令,如页面(路由),注入(服务注入)和功能(组件成员)。
5、导航改进
导航中添加了几个小但方便的新功能。
ReSharper为搜索和导航选项引入了期待已久的功能:您现在可以使用环境中的掩码指定被忽略的文件。 搜索和导航。 您可以根据文件扩展名或文件夹从所有搜索和导航功能中排除文件。
StackTrace Explorer解析引擎已添加到Search Everywhere。 使用ReSharper 2018.2,我们现在可以从dotTrace的/ Visual Studio的Call Stack窗口复制一个函数签名,并使用Search Everywhere直接导航到代码库中正确的方法重载。
最后但同样重要的是,一些ReSharper功能,如文件结构,包含声明,下一个/上一个成员,以及其他现在考虑到本地功能。
6、IntelliSense的彩色参数信息弹出和摘要工具提示
此版本更新了ReSharper在查找项弹出窗口中显示参数信息的方式。 例如,在C#或VB.NET中使用代码完成时,ReSharper以不同的颜色显示参数类型和方法返回类型,从而更容易直观地识别方法重载。
7、格式化程序引擎更新
formatter引擎有几个新功能:
可以直接从“配置格式”对话框生成代码文件中用于覆盖格式化程序设置的注释。
“文件格式信息”工具窗口显式显示受StyleCop规则影响的设置。
如果StyleCop规则覆盖代码样式/格式设置,则“选项”对话框现在可以显示StyleCop规则名称。
8、JSLint,ESLint和TSLint
ReSharper扩展了内置代码分析规则,支持三种静态分析工具:JSLint,ESLint和TSLint。所有这些linters都有助于确保JavaScript和TypeScript代码的可读性和可维护性。它们还允许添加自定义规则,这些规则可以包含在ReSharper代码分析中。
如果您的计算机上已配置了Node.js解释器,则可以在“工具”|“工具”下的“ReSharper”设置中启用linters。 Web Linters。
9、重构UI更新
在此版本中,一些ReSharper重构已移至新的演示框架。大多数改进发生在引擎盖下,并且在UI中不可见。此举有助于我们统一ReSharper和Rider的控件行为。
关键的可见UI更改包括:
“更改签名”对话框具有参数类型的代码完成弹出窗口。
Extract Method有一个消除歧义的弹出窗口,指定是否应该创建方法或本地函数。
10、更多ReSharper更新
其他ReSharper 2018.2更新包括:
修复范围快速修复获得更精细的修复范围:修复方法和修复类。
内置类型的代码样式得到了改进:它获得了成员访问表达式和“字段,参数,变量”声明的独立设置。
在ReSharper Build中为跳过的项目执行BeforeBuild和AfterBuild目标有一个新选项。
一项新的检查,以突出XAML中错误放置的文本。
在XML / XAML支持中,当您在单独的行上的结束标记之前按Enter键时,键入assist现在会在结束标记之前插入一个空行,并将插入符号留在空白行(而不是将其移动到结束标记)。
11、C ++ / CLI
初始C ++ / CLI支持Ultimate
C ++ / CLI是Microsoft提供的一组C ++语言扩展,用于在托管代码和本机代码之间轻松实现互操作性。通过对托管语言和C ++的广泛支持,ReSharper自然也能提供在C ++ / CLI中编写代码的帮助。
然而,由于C ++语言的语法添加和特殊变化如此之多,处理C ++ / CLI并非易事。但现在等待结束了 - ReSharper C ++ 2018.2使C ++ / CLI支持公开,更新了许多主要功能(包括代码检查,打字辅助,格式化和代码完成)以支持这种语言方言。
12、C ++ 17和C ++ 20具有Ultimate功能
ReSharperС++ 2018.2加深了对现代C ++语言的理解。 由于增加了对类模板参数推导,用户定义的演绎指南,折叠表达式,自动非类型模板参数等的支持,ReSharper C ++现在支持大多数主要的C ++ 17特性。
由于C ++ 20标准已经形成,ReSharper C ++ 2018.2学习了解主要编译器中已有的许多C ++ 20特性,特别是协同程序,指定初始化,特征测试宏等。
使用帮助
1、运行
ReSharper是一款以键盘为中心的产品。 它的大多数操作都有默认的键盘快捷键,如果需要,您可以为其任何命令分配自定义快捷键。
因此,当ReSharper准备就绪时,它会提示您选择两个默认键盘快捷方案之一:
您可以稍后使用Environment |上的相应选择器更改所选方案 ReSharper选项的Keyboard&Menus页面。
2、环顾四周
在Visual Studio中安装ReSharper时,您将看到以下更改:
Visual Studio菜单栏中显示的ReSharper菜单包含除仅在上下文中可用的命令之外的所有命令,例如上下文操作或快速修复。
Visual Studio中的ReSharper菜单
请注意,仅当JetBrains dotCover和JetBrains dotTrace与ReSharper一起安装时,才会显示Cover和Profile子菜单。
在特定命令之后出现的许多工具窗口。 ReSharper |中也提供了所有ReSharper工具窗口Windows菜单。
ReSharper的命令可在编辑器,解决方案资源管理器和其他Visual Studio窗口的上下文菜单中找到。
请注意,默认情况下,ReSharper还会在这些菜单中隐藏重写的Visual Studio项(例如重构和导航命令)。如果要保留原始Visual Studio菜单项,请清除“环境”上的“隐藏已覆盖的Visual Studio菜单项”复选框ReSharper选项的Keyboard&Menus页面。
Visual Studio选项中的ReSharper页面,允许您随时暂停和恢复ReSharper。通常,您不需要这样做。但是,如果在使用大型解决方案时遇到性能问题,则挂起ReSharper可能有助于提高性能。
在Visual Studio选项中,可以将快捷方式绑定到ReSharper_ToggleSuspended命令,并使用此快捷方式快速挂起/恢复ReSharper。
3、编辑器和状态栏中的很多更改:
1)状态指示器,可帮助您立即查看当前文件是否有错误或警告。
2)修复了针对非导入类型的弹出窗口。只需按Alt + Enter或单击此弹出窗口即可,ReSharper将为文件中的所有类型添加缺少的指令。有关更多信息,请参阅导入缺少的命名空间。
3)低优先级代码问题(在这种情况下,与未使用的公共成员相关的建议)显示为灰色。
4)中优先级代码问题(在这种情况下,关于符号名称不符合命名样式的警告)以蓝色卷曲下划线突出显示。
5)标记栏上显示与建议问题(3)对应的标记。
6)对应于错误问题(8)的标记显示在标记栏上。
7)如果ReSharper在那里有任何建议,则显示在插入符号位置左侧的动作指示器。
8)高优先级代码问题(在这种情况下,与未解析的符号和错误的返回类型相关的错误)以红色文本和红色卷曲下划线突出显示。
9)标记栏上显示与警告问题(4)对应的标记。
10)通过按Alt + Enter或单击操作指示器(7)打开的操作列表包含插入符号中问题的快速修复列表。
11)状态栏中会显示插入符号上的问题的简短描述。 您还可以通过将鼠标悬停在突出显示的代码上或标记栏上的问题标记上来查看代码问题的描述(5,6,9)。如果4、启用了解决方案范围的分析,ReSharper允许您查看更多代码的问题。 在此示例中,它检测未使用的公共成员(3)并通知解决方案的其他文件中的错误。 您可以单击解决方案范围的分析图标来探索检测到的问题。
您还可以使用“快速启动”框查找并执行ReSharper命令:
5、导航和搜索
ReSharper提供了许多导航和搜索功能。 让我们熟悉一些。
按Ctrl键并将鼠标悬停在代码上。 您将看到在其他地方定义的所有符号在焦点时都会加下划线。 您可以在按住Ctrl键的同时单击任何符号以直接导航到其声明。 如果符号在当前解决方案中定义,则ReSharper将打开相应的文件并将插入符号带到声明中。 如果符号在已编译的库中定义,则ReSharper将根据您的首选项打开它。
1)寻找用法
要以相反方向导航,即要找到解决方案中使用符号的所有位置,请按Shift + F12。 ReSharper将快速查找并显示符号的所有用法。 有关更多信息,请参阅查找用法。
2)检查可用的导航操作
另一个方便的导航快捷方式是Alt +`。 当您在任何符号上按下它时,ReSharper将显示所有可用的导航选项:
无论您的插入符号在哪里,请按Ctrl + Alt +向右/ Ctrl + Alt +向左键。 这些快捷方式允许您连续选择符号,行或代码块,以便您可以轻松选择任何所需的表达式进行复制,剪切或移动。 有关更多信息,请参阅扩展/缩小选择。
如果需要移动所选代码块,请按Ctrl + Shift + Alt,然后使用箭头键将块移动到任何允许的位置。 有关更多信息,请参阅重新排列代码元素
7、Alt + Enter的强大功能
通常,您会在编辑器的左侧看到许多不同的操作指示符之一。您可以按Alt + Enter查看ReSharper在当前插入位置建议的内容:
动作清单
以下是几个例子:
如果您看到红色灯泡ThemedIcon RedBulb屏幕灰色或黄色灯泡ThemedIcon YellowBulb屏幕灰色图标,甚至建议按Alt + Enter,因为这些操作指示器告诉您ReSharper已检测到错误或其他代码问题,并且它知道如何修复它。
如果您看到锤子ThemedIcon ContextAction Screen Gray图标,除非您想要修改插入符号中的代码,否则可以忽略它。如果要进行更改,请按Alt + Enter可能会有所帮助。 ReSharper提供了数百个上下文操作,例如,可以快速更改符号可见性,添加迭代集合的代码等等。
如果视图中没有操作指示器,您也可以按Alt + Enter。在这种情况下,您可以开始键入以快速查找并执行范围内的任何ReSharper操作。
8、重构代码
到目前为止,ReSharper的重构集在数量,可用性和应用范围方面远远超过Visual Studio提供的重构。
要学习并记住ReSharper提供的几十个重构中的每一个都不容易。 但是,您可以在代码中的任何符号上按Ctrl + Shift + R,并在此处查看可用的重构。
9、生成代码
通过提供许多自动生成样板代码的功能,ReSharper可以帮助您专注于非平凡的任务。 例如,您可以调用不存在的方法,ReSharper将根据用法创建此方法,同时考虑返回类型和参数类型。
生成类型成员
如果您的插入符号位于类型声明中的任何位置,请按Alt + Insert。在打开的弹出菜单中,您可以选择要为该类型生成的项目。 ReSharper可以创建构造函数,属性,覆盖成员等。有关更多信息,请参阅代码生成。
使用ReSharper生成类型成员
应用代码模板
当您要编写典型的代码块时,例如'for'或'foreach'循环,安全类型转换,断言等,请按Ctrl + E,L并选择相应的实时模板。有关更多信息,请参阅使用实时模板创建源代码。
选择实时模板
使用类似的技术,您可以使用典型的代码构造包围现有代码块,例如'if ... else','try ... catch'等。在这种情况下,按Ctrl + E,U或Alt + Enter在选择。有关更多信息,请参阅使用模板的周围代码片段。
如果您发现ReSharper的代码模板很有用,您可能也有兴趣添加新文件表单模板并创建自己的代码模板。
9、代码风格很重要
使用ReSharper,您可以控制代码中的大多数样式方面:命名标准,格式规则,文件和类型布局,文件头样式以及许多其他微小的东西(例如修饰符的顺序或是否使用'var'关键字)。
ReSharper代码样式功能的默认值是根据Microsoft指南和众多最佳实践选择的。 同时,可以更改代码样式的每个微小方面以适合您的个人或公司偏好。
要应用代码样式规则,请按Ctrl + E,C。 ReSharper将提示您选择两个默认代码清理配置文件之一:重新格式化代码或在所选范围中应用多个代码样式规则。