http://www.jetbrains.com.cn/index.html 官方网站中文html
1:安装后,Resharper会用他本身的英文智能提示,替换掉 vs2010的智能提示,因此咱们要换回到vs2010的智能提示浏览器
2:快捷键。是使用vs2010的快捷键仍是使用 Resharper的快捷键呢?我是使用re的快捷键服务器
3:编辑器
Resharper安装后,会作几件事情,这几件事情对于除此使用者,比较麻烦,所以概括总结一下,以资参考。ide
(1)、会将选项——文本编辑器——C#——常规——自动列出成员 这个选择框的勾选去掉。这样当你使用某个方法的时候,便不会提示参数,是一个很郁闷的事情。函数
能够手动勾上。工具
(2)、会将选项——文本编辑器——C#——高级——显示实时语义错误、在编辑中用下划线标识错误这两个选项去掉。这个原本没有什么,可是若是卸载了Resharper,性能
vs编辑器变不会实时提示错误。所以卸载Resharper后,须要把这两个选项从新勾选上。测试
4: use var优化
use implicitly typed local variable declaration
5:按 alt+enter 能解决不少问题。下面是快捷键大全。
6: Alt+F7将你光标所在位置的变量的全部使用以列表的方式显示出来,显示结果的窗体能够像其余窗体那样停靠。
它的优势包括:
我如今已经记不起来在没有Alt+F7以前我是怎么查找的。反正如今我几乎不怎么样Ctrl+F了,除非我忘记了某个变量的名字。若是是这样,多半这个名字须要refactor,那也是Resharper的另外一大块功能所在。也许有人对这个功能嗤之以鼻,可是用过CAB的人都知道,订阅和发布某个事件的签名,彻底是字符串,若是你不用搜索来找到它的话,你都不知道这个控件的鼠标点下去,到底有多少个处理程序在背后开始工做了。用了Alt+F7来搜索这个字符串,等于在查找背后全部的调用者。
不过提示你,当光标停留在一个类型上时,要慎用Alt+F7,假设是一个string,你应该能想象到得找到多少个使用
7:威力无比的Alt+Enter回车
万能的Alt+Enter可以帮你完成不少编写代码过程当中的dirty work,总结起来大概是这么些:
8: Ctrl + F11 当咱们看别人的代码,或者是看本身的代码的时候,老是以为代码太多,因而咱们就用 region来把代码进行了封装注释,但是这样以后别人看代码就很郁闷,Resharper的 File Structure 功能,就能够把region和你的方法都展现出来。
说了这么多,其实就是把对象浏览器和region的长处结合起来,既能够清晰的分类,又能一目了然的找到须要的方法。Resharper这时帮上你的大忙了。用Ctrl+F11,就弹出一个像右边这样的窗口来。
这里面,按照你的region来显示,这样读你的代码的人也受益了。每一个方法的参数,返回值都如UML同样列出来。
9:重构才是王道(上)
重构是一种精神,证实你在致力于提供高效的、精炼的、健壮的代码,而不是凌乱的、晦涩的、漏洞百出的代码。
在Visual Studio 2005中,微软第一次提供了重构工具。可是不够,远远不够。咱们须要的重构是很是广义的,咱们想要对代码进行快速的调整,快到我在想什么个人工具就能作什么。这才是追求重构的境界。因此在这个意义上,几乎Resharper为你提供了巨大的生产力。
Visual Studio 2005提供的重构包括了以下:
这些方法在Resharper中所有都支持(但Resharper的重构远不止这些),它们对应的变成了:
我知道不少人都声称本身E文很差,可是,这确实都是很简单的单词,难不倒任何人的。这些重构的功能是人所共知的,下面就告诉你们一些Resharper特有的,首先,重构的快捷键是Ctrl+Shift+R:
一、对于类,除了提取接口、基类,你还能够移动它到其余的命名空间和移动到别的文件里,这是一个实用的功能,也许你不信,可是我这真的有我的,把全部的business entity都写在一个DataObject.cs里面。你不可思议,我打开它时嘴张了多大。
二、对于字段,提供了:
- Safe Delete,会检测全部使用到的地方,并询问如何删除;
- Pull Member Up和Push Member Down,能够把这个字段在基类和继承类中移动;
- Use base type where possible,尽量的使用基类,因为ArcGIS平台是基于com组件的,不少时候咱们须要的是IGeometry, IPointCollection这样的接口所公开的属性或者方法,因而你没有必要保存一个polygon对象,而可使用基类型;
- Encapsulate Field,封装字段,可是这个功能远没有另外一个提供一样功能的操做有用。我能够在后文中来说。
三、对于方法,提供了:
- 与字段相似的功能,此外;
- Change Signature,更改函数签名,包括更更名称,返回值类型,参数的各类信息,添加和删除参数,至关实用。若是你是在重写方法上操做,会提示你是否到基类中更改。
- Make Static,若是Resharper检测到这个方法并无与非静态成员相关联的话,每每会自动地提示你(以黄色横杠的形式出现)能够改成static,若是你自做主张的对一些方法进行修改也无不妥,但后果自负。
- Extract class from parameter,若是你的参数有七个八个,那是否考虑用一个类来封装这些参数呢,因而这个功能应运而生。
- Method to Property,顾名思义,若是还在使用GetField()或者SetField(..)的话,你必定是从非.net星来的。
四、在方法体内部:
Extract Method,不用介绍了吧。
Introduce Variable/Parameter/Field,取决于你光标所在的对象,能够提供转化的功能。
Inline Variable:就是把:IPoint point = new PointClass();
point.PutCoords(_point.X, _point.Y);变成这样子:
new PointClass().PutCoords(_point.X, _point.Y); //这是个糟糕的例子
5、重命名:
为何重命名值得挑出来说,由于Resharper提供了命名建议这一金子般的功能。因而,想更名为易读性强的名字,不是那么费脑子的事情了。Resharper会根据这个变量的类型,为你提供几个备选名字,名字列表是列在光标位置上的(对方法重命名会弹出对话框),你只须要用方向键选择并敲回车便可,这种名字可能是将类型的名字首字母改成小写得来的,甚至刨根到基类的类型名,你还能够在此基础上加以改进。若是你还在用i,j这种晦涩的名称,请迅速的把他们改成outIndex, pointCount之类可读的名称。
Resharper其实提供了更先进的功能,在你命名一个变量时,就有快捷键为你提供备选名字,可是Ctrl+Space是咱们宝贵的输入法切换键,因而,我对变量名的敲定,每每是先起了一个较烂的,而后重命名的。
还有一些更广义上的,帮助你对代码进行调整的功能,我另写一篇吧,否则太长了。
重构才是王道(下)
插入代码
Resharper的Alt+Insert快捷键提供给你插入代码的功能。因为这两个键很是难按(这是个人感觉),真正在使用的时候,我用的是Alt-R-C-G,意指打开Resharper菜单——Code——Generate,都只须要你的左手,这样你能够右手一边比划,一边还在写代码,多酷啊。
包围代码
Visual Studio也提供了外侧代码这个功能,你能够按Ctrl+K,Ctrl+S来激活这个功能,虽然我并无任何鄙视Visual Studio的意思,可是Resharper的快捷键确实更加合理(我在按下Ctrl的时候真的很难按下S),条目也更加清晰。Resharper中这个功能的快捷键是Ctrl+Alt+J,而后你就能够选择将当前行的代码包围到try-catch块或者using中了。这是很高效的方法,咱们倾向于在开发的早期尽可能不捕获异常,而在中后期才加入异常处理机制。因而你某一个时期有大量的工做是把他们扩到try-catch块中。而你要使用支持dispose对象时,最好的方法是使用using块。(卖蛋糕的,当我知道个人代码不是最优的时候,我老是寝食难安),这里天然也有把代码扩到region块中的功能,也是经常使用功能之一。
调整方法的位置
前面我曾说过,若是要调整方法的位置,能够在代码结构窗口中拖放操做。若是你以为只是把一个方法移动到前面去,却不得不打开代码结构窗口太太重量级,那么有轻量级的方法:当光标位于方法的名称上时,用Ctrl+Shift+上下键就能够移动方法的位置,包括方法的xml注释,但若是你用的不是三个/的xml注释而是两个/的,那么就对不起了。
其余琐碎的功能
你确定经常会复制粘贴当前行的代码,例如在使用StringBuilder.Append的时候,Ctrl+D能够简化你Ctrl+C,Ctrl+V的工做。
曾经有一个组合键能够注释掉当前行,还有另外一个是取消注释,可是我已经淡忘了,由于Ctrl+/才应该是真正属于它的快捷键,再次按下就能够取消注释。
关于Resharper的重构功能就是这些,我可能天真地把不少额外功能都算在重构里了,可是它确实可以帮助你快速的对代码进行调整和优化。因此,请不要深究我对重构的概念认识是否是混乱。
加强的浏览功能
浏览参数的方式 输入方法的时候,咱们已经习惯了由IDE提供给咱们的参数提示,极大了方便了咱们选择重载方法。在没有Resharper的环境下,Visual Studio已经作到了。那么为何Resharper还要加强这个功能并大获好评的。试问,Visual Studio那窄窄的一行参数提示有没有让你以为憋屈。咱们有19寸的大屏幕,1600的分辨率,却不得不盯着那窄条条,当心翼翼的按着上下键寻找咱们须要的重载。至少,开发Resharper的家伙是受不了这种憋屈的,因而大开大阖版的参数列表出现了,长长的参数重载被以列表的形式展示出来,当你在使用GDT+方法,看到巨大的参数重载时,你会从心底里发出感叹:卖蛋糕的。 同时,Resharper展现参数的快捷键变成了Ctrl+P,若是你以为屏蔽了打印的快捷键简直是在开玩笑的话,那么问问你本身有多少次打印过本身的代码。 浏览打开过的文档 我窃觉得你已经知道了在Visual Studio中切换文档的方式,它们包括: Ctrl+Alt+上下方向键,能够在打开的文档中切换; Ctrl+Tab,不只能够在文档以前切换,并能够切换到解决方案文件夹,属性视图去,须要按左右键。 可是怎么样打开最近编辑后关闭的文件呢,Visual Studio很客气的又没有提供此功能,因而留给了Resharper。在我这里这个快捷键是Ctrl+E,Ctrl+E,没错,按两次。若是你的不是,那么在Resharper-View-Recent Files菜单下看看它是什么。由于你会时经常使用到。打开一个文件的列表,用方向键选择并回车就会在编辑器中打开。 不少人说Resharper的性能问题,我想,一个可能的缘由是打开的文档太多了,若是你有时刻关闭不须要的文档的习惯,性能或许不会那么差,而且你能够随时打开这些你关闭了的文档,就像在已经打开的文档中切换同样的方便。 个人团队中没有用到敏捷开发那些高级的东西,可是咱们仍是保持着每次改动都仅涉及两三个文件的好习惯,而且频繁的commite到源代码服务器上去。因此,我每次真正要编辑的文件很少,性能不是问题。 和你们分享了不少Resharper使用的技巧,点点滴滴都已经融入我平常的开发工做中了。固然很不全面,例如与Nunit的集成,因为咱们不是测试驱动,因此没有任何体验,天然也不敢大放厥词;也很主观,我以为它好,你可能以为它很差,萝卜青菜各有所爱。再说,它也不是没有白痴的地方,在文档上点右键增长的一个Close All功能,能够关闭全部打开的文档,关闭了干什么,对着一个空白的屏幕发呆么?我以为原生的“除此以外所有关闭”就够了。还有一个定位的功能(Locate in Solution Explorer),真是没用,若是你在VS选项中设置了,在解决方案管理器中跟踪活动项,那么VS自动就给你定位了。 无论怎么说,它带给我更快更方便的开发体验,把我从一些琐碎的,不人性化的功能中解放出来。从这一点上来讲,我很但愿愈来愈多的人喜欢上它,开始用它,并帮助它更好的发展。