我们谈一谈 Resharper

一、ReSharper介绍

是一个JetBrains公司出品的著名的代码生成工具。其能帮助Microsoft Visual Studio成为一个更佳的IDE,它包括一系列丰富的能大大增加C#和Visual Basic .net开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。实质上,ReSharper特征可用于C#,VB.NET,XML,ASP.NET,XAML,和构建脚本。ReSharper还为C#和VB.NET提供了增强的交叉语言功能,它使开发者可以有效的控制.net混合项目。
Resharper能带给你的效率提升如此之高,想要搜到一些中文的介绍,或者是经验性的文章却十分困难。大多数人 似乎不关心它的存在。博客园里充斥着因为安装Resharper而拖慢系统,导致VS不稳定,机器响应速度下降,VS启动速度下降等等的论调。相比于它能带给你的效率提升,这些问题都是微不足道的。

二、ReSharper入门

代码分析

ReSharper可提供对C#, XAML, XML, ASP.NET和ASP.NET MVC的持续的代码质量分析,甚至在用户对之进行编译以前即可检测到错误和问题。ReSharper可对用户的代码提供900多种代码检验,用户便可即刻 察觉到其当前文件或者甚至整个解决方案中是否包含了错误和故障。
在这里插入图片描述
错误:
在这里插入图片描述
警告:
在这里插入图片描述
建议:
在这里插入图片描述
提示:
在这里插入图片描述
自动完成语法糖:
在这里插入图片描述
在这里插入图片描述

高亮显示错误和快速更正

ReSharper能在用户输入的时候即对代码进行分析,并高亮显示错误,用户甚至无需进行编译。其甚至能对大部分错误快速给出修改建议,以帮助用户快速解决问题。
快速修复通常由红色(用于错误)或黄色(用于警告、建议和提示)灯泡表示
在这里插入图片描述

先进的代码协助

ReSharper充分的考虑到了编码的各个方面,以帮助用户提高效率和节省时间。 其不但对Visual Studio的诸如代码编译之类的原生功能进行了扩展和改进,还可以使得用户通过使用大量的代码模板快速生成代码,在编辑器中查看类型和他们的成员的文 档,使用称为“上下文动作”(context actions)执行代码转换,还有其他更多的。
在这里插入图片描述
检查参数是否为null
将LINQ转换为代码
反转“if”语句

众多的代码重构

与Visual Studio 2005/2008/2010相比,ReSharper提供了更丰富的自动代码重构功能。用户可使用许多不同的重构方法以进行重命名,移动,安全删除标识;导入和内联字段、变量和参数等等。
在这里插入图片描述
在这里插入图片描述

导航和搜索

无论什么时候你需要查找某个类型,字段,方法,或任何其他的标 识,ReSharper提供了多种实现方法,可以通过名称查找一个标识,在代码从引用位置导航到标识的声明位置,查找并高亮显示标识用法。使用集成到 Visual Studio用户接口的特别工具窗口,ReSharper可以让你看到完整的类型继承树和文件结构。
按Alt+\调用(搜索)
在这里插入图片描述
此命令(可以通过按Ctrl+T调用)
快速导航到所有可能的目标(类型、符号或文件)
导航到您的解决方案中的任何类型。

在这里插入图片描述
文本搜索 的“Go to Text”(可以通过按Ctrl+T、T、T调用)
实现搜索 借助此导航功能(可以通过Ctrl+F12快捷键调用)

集成单元测试

ReSharper自动侦查代码中的单元测试,并提供完整的单元测试支持。你能从代码编辑器中运行和调试测试。同时,会提供一个专用的单元测试资源窗口以让用户看到其单元测试的结果和重新运行单元测试。
使用dotCover进行连续测试:
在这里插入图片描述

使用dotTrace分析单元测试的性能:
使用dotMemory Unit监控内存使用:
在这里插入图片描述

ASP.NET编辑

利用错误高亮显示,快速修正,上下文动作,代码协助,导航,重构,和其他特征,用户可以愉悦而高效的编辑ASP.NET文件。使用ReSharper,你可以不受打扰的在ASP.NET中编辑和重构C#代码,如Web控件属性和事件,数据源,和内容点位符。

NAnt和MS Build脚本编辑

其高级编辑功能之前只针对C#可以用,后扩展到了NAnt和MSBuild脚本。若用户安装了ReSharper,则只要其在Visual Studio。NET中打开一个创建的脚本文件,便可立即得到完全代码协助。

VB功能

ReSharper for Visual Studio 2005/2008/2010 扩展了其对Visual Basic代码(包括使用VB编写的ASP页面)的一系列功能。其中包含了ReSharper的所有导航和搜索功能,以及语法高亮,文档快速查找等。其最 大的益处则是对于需要开发混合了C#和VB的项目的.NET开发人员而言的。

XAML编辑

有了ReSharper,用户无论是在进行Silverlight, WPF, 或者 Windows Phone 7 开发时,均可获得附加的XAML编辑协助,包括即时代码分析,代码重构,代码生成和调整,以及快速的解决方案范围导航。

三、ReSharper配置

1、常规设置:(含提示框样式及缓存)

Environment > General:
在这里插入图片描述

2、智能联想设置

安装完毕后,IDE 的智能提示(Intellisense)便会默认使用 Resharper 的提示。改过来,是在Option的窗口中(Environment > IntelliSense > General > Save):
在这里插入图片描述

开关ReSharpe代码检查设置:
Environment > Code Inspection > Settings > 禁用所有项目
在这里插入图片描述

添加例外规则:如*.html,*.cshtml
在这里插入图片描述

3、快捷键配置

建议你使用Reshaper的快捷键,不要担心Reshaper会把你原来的快捷键设置给覆盖了,因为如果某个快捷键和 VS 是冲突的,Reshaper会让你自己选择需要使用 VS 还是 Resharper 的快捷键,看如下界面:
在这里插入图片描述
注意,不要选择 Apply to all Reshaper shortcuts,如果选择了,这个界面将不会再出现了,而一般情况下,你会更喜欢在冲突的时候让自己做决定。
当然,如果你一定要使用 VS 原来的快捷键,那么,就应该在 Option 的如下窗口中选中红框内的选项,然后点 Save:
在这里插入图片描述

4、命名规则设置

Code Editing > C# > Naming Style > 双击要设置的项 > Save:
在这里插入图片描述
备注:若要禁用命名规则样式:双击要设置的项 > 清除Enable inspections复选框

5、代码样式对齐设置

Code Editing > C# > Align Similar Code in Columns > 勾选所需选项
在这里插入图片描述
工具 > 选项 > 选择加粗的字体均支持
在这里插入图片描述
选择要格式化的代码 > 点击左侧格式刷 > Cleanup selection
在这里插入图片描述

6、F12导航设置

Tools > External Sources >
选择第一项:勾选Default Visual Studio navigation(按F12转到原始的‘转 到定义’功能,无反编译)
选择第二项:勾选Navigation to Object Browser(按F12转到对象浏览器)
选择第三项:勾选Navigation to Assembly Explorer(按F12转到程序集资源管 理器)
选择第四项:Navigation to Sources下所有子节点(按F12转到反编译)
选择第四项:Navigation to Sources未选该节点下所有子节点(按F12仅显示公 用及更方便查看的注释
在这里插入图片描述

7、代码片管理设置

Resharper > Tool > Templates Explor > 双击编辑项后修改模板即可
在这里插入图片描述

四、ReSharper快捷键

在这里插入图片描述

五、ReSharper:万能的Alt+Enter

万能的Alt+Enter能够帮你完成很多编写代码过程中的dirty work,总结起来大概是这么些:

1,帮你实现某个接口或抽象基类的方法
这个功能Visual Studio也已经帮你提供了,就是每次你在类名的后面加上:ISomeInterface的时候,它会提示你按Tab键就生成接口中所有方法的存根。费死劲才点得中的智能感知符上,然后生成方法。在安装了 Resharper以后,这个功能被视为与其它警告一样的处理办法。如果你:ISomeInterface以后,又没有实现它的方法,这一行代码会打上波 浪号,表示有警告或者错误发生。按下Alt+Enter,则会为你生成这些方法。
不要觉得我小题大作,在你修改了ISomeInterface这个接口以后,比如添加了一个Initial方法,这时最快的办法是:在 ISomeInterface上点Ctrl+Shift+G浏览到这个接口的实现类,然后Alt+Enter,这个类中立即就添加了Initial这个方 法,并可开始编写代码。
在这里插入图片描述

2,提供你处理当前警告的一些建议
有的时候你可能会忽略的一些细节,Resharper不会忽略,比如你用了隐式类型转 化:Button btn = sender as Button; //隐式类型转化
而没有接下来检测它是否为空,就直接使用。这时Resharper会提示你一个警告。 如果你按下Alt+Enter,它会把你之后的代码包括在一个if语句中:
if (btn != null)
{
//你接下来的代码
}
在这里插入图片描述
3,为你提供处理当前错误的一些建议(不一定是真的错误)
被Resharper标记为红色的即为错误了,有时错误也可能是你有意为之。比如你随意地在View.cs中写下了:
_presenter.GetAllLayers();
而实际上你的Presenter.cs中还没有这个方法,那么按下Alt+Enter就会立即在Presenter.cs中添加这个方法,并跳转到 该方法,如果Presenter不止分布在一个文件中,会弹出对话框让你选择。相比于Visual Studio经常臃肿的对话框,Resharper的弹出对话框往往十分直接,你只需立即用方向键选你需要的并回车。

4,为你简化当前的臃肿代码
你的代码如果被Resharper视为多余的,那么会以灰色标识出来,例如:
this.Text = “标题栏文本” //this为灰色
btnOK.Click += new EventHandler(btnOK_Click) //new EventHandler为灰色
多余的代码并无害,只是显得不那么简洁,

六、ReSharper:高效的代码结构调整

用Ctrl+F12,就弹出一个像右边这样的窗口来。
这里面,按照你的region来显示,这样读你的代码的人也受益了。每个方法的参数,返回值都如UML一样列出来:

如果需要浏览到某个方法,直接双击它的名字;

如果要把某几个方法装进一个新的region,则可以选中方法,点工具栏上的像框的那个图标;点叉则会删除这个region并把相应的方法移到外面来。

如果要调整某个方法的位置,比如把它移到别的region里面去,只需要在这里拖动这个方法即可。

更可喜的是,你想要的从这里浏览、找到所有使用和重构的功能也在这里提供了,在某个方法上右键你就能开始操作。
Alt+F12直接看到这个方法实现
在这里插入图片描述
Ctrl+F12 跳转到这个方法底层
在这里插入图片描述

七、ReSharper:文献

Resharper文档:
https://www.jetbrains.com/help/resharper/2019.3/Introduction__Index.html
https://www.jetbrains.com/zh-cn/resharper/features/

Resharper配置博客:
https://blog.csdn.net/qq_36036735/article/details/94356264

**

软件和工具需要私信我。

**

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值