Resharper Visual studio中的插件

Resharper进阶一:简要介绍 
Resharper进阶二:快速定位 
Resharper进阶三:快速完成 
Resharper进阶四:万能的Alt+Enter 
Resharper进阶五:高效的代码结构调整 
Resharper进阶六:重构才是王道(上) 
Resharper进阶七:重构才是王道(下) 
Resharper进阶八:加强的浏览功能java

这一系列不是对每一个功能的中文帮助,而是我对开发中可能涉及的功能需求,利用Resharper来完成。有些是Visual Studio有的,可是作的很差,有些是没有而Resharper发明的。总的目的都只有一个,就是加快你编写代码的速度。毕竟,咱们的终极目标是在5点 半前心满意足的关上电脑回家。浏览器

诚然,学会一个新的语言,或者一个新的工具,都有一个上手的问题。但愿个人文章可以帮助你尽快地熟悉Resharper。在熟悉了它之后,你使用鼠 标或者是无效击键的频率会大大地下降。固然这也须要对visual studio自己的使用有必定的基础,毕竟它Resharper是创建在这么强大的一个IDE基础上的。服务器

Resharper进阶一:简要介绍 
面对这样一个问题:为何.net可以比java更加快速的完成开发?恐怕最大的优点在于Microsoft提供了一个无比强大的IDE。它的强大在于适 用于各个层次的开发人员。当你仍是一只小小鸟的时候,能够学会drag&drop,当你开始写代码的时候,你会发现设计器生成的代码是多么愚蠢和 臃肿。当你本身可以写出干净的代码时,可能不再想切换到设计器中去了(切换/F7)。我相信咱们中的大部分人,即便是最资深的Windows开发人员, 用VS写代码比用记事本的效率要高不少,由于咱们毕竟须要IDE的帮助以提升咱们的生产力。可是在那个没有Resharper的年代里,你的生产力顶多停 留在两个轮子的时代,另两个轮子,只有在你熟悉了Resharper之后才能转动起来。框架

Resharper能带给你的效率提高如此之高,以致于在我订阅的全部.net专家的blog里面,全部的人都在关注它。要知道他们都不是通常的 coder,大多数是CTO或者技术总监。当我三个月前开始使用Resharper时,想要搜到一些中文的介绍,或者是经验性的文章却十分困难。大多数人 彷佛不关心它的存在。博客园里充斥着由于安装Resharper而拖慢系统,致使VS不稳定,机器响应速度降低,VS启动速度降低等等的论调。幸运的是, 这些在我这里都没有遇到,也许是由于2G的内存的缘故,反正devenv.exe所占的200~300m内存并无使我感受机器在变慢,并且个人VS几乎 是一直运行中,没有一会关闭一会打开的时候,因此我只须要忍受Resharper在加载时的半分钟初始化一次就够了。相比于它能带给你的效率提高,这些问 题都是微不足道的(一家之言)。编辑器

若是你在VS环境下写代码时几乎不用快捷键,那我以为你没有必要往下看了。由于Resharper是经过快捷键来提高你的效率的。可是相信我,若是你曾经在星际中一遍一遍被人虐的话,你应该能体会到快捷键带来多么大的变化。ide

首先在安装完Resharper以后,你主要经过三种方式用到或看到它:函数

一是在菜单栏上,若是是3.0版本的话,它会默认的屏蔽掉“重构”菜单栏,也就是说你按Alt+R的时候,弹出的是Resharper的下拉菜单而不是“重构”,为何?由于你再也不须要“重构”菜单了。若是是之前版本,好比2.0,彷佛须要您手工的完成这一步,方法以下:工具

工具——自定义——重排命令,而后把“重构”菜单删除,绝不犹豫地!性能

你能够简单地这样体验一下:Alt+R,N,回车,就能够在当前项目中添加一个类,还记得之前你是怎么作的吗?在解决方案资源管理器中选中一个项目,而后右键,在长长的弹出菜单中选择:添加——类,若是你的电脑够慢的话,在3秒钟以后才会弹出一个对话框来问你文件名。测试

另外一种方式是:看到竖直滚动条了吗?在它的右边多出一个边框来,上方是一个“绿色/黄色/红色”的方框,而边框上会出现一道一道红的橙的横杠。什么 意思:当红杠出现时,代表你的代码在那个位置出现了错误,若是是橙杠,代表那是一个警告,多半是没有检测null值或者声明后未使用之类。

若是当前文档的全部错误和警告都获得了适当的处理,则不会再出现横杠,而最顶上的方框也会变成绿色;

若是没有错误但有警告,则是黄色,这时编译能够经过;

若是那个方框是红色,则表示有编译通不过的错误,这时你应该经过点击红杠,去修改您的代码。若是你即便编译,也会报错并没有法生成。这样作使你在写代 码时就能及时得发现你的错误,而不须要等到编译时。这样作也使你的效率获得了提升。由于编译至少要耗去您半分钟的时间,而且强烈的读写您的硬盘,特别在你 的硬盘转速慢时,好比笔记本上,这一过程是那么的使人心痛。

第三种接触到Resharper的天然是快捷键了。右键菜单固然也有不少的功能,可是那太弱智了,太慢了。咱们须要的是专业,咱们用的工具定位不是 打毛衣的大妈,而是开发的专业人员,若是你连快捷键都没法掌握,那真的得对你的开发技巧打一个大大的问号。试想一下这个场景,当你脑子里冒出这个念头, 啊,这个类,应该提出接口来,要这个方法,这个,和这个,还有这两个事件。啊,不行,我如今就得提,否则就忘了。我得新建一个接口,点哪一个来着。啊,在哪 里新建……建好了,对了我要提取哪几个方法来着。(我晕死)许多时候你的念头都是一闪而过的,须要你的操做也相应的跟上。这个操做在Resharper就 是,把光标移动到类名上,而后点Ctrl+Shift+R,除了你想要的提取接口,其余的重构功能也一目了然。并且远比VS自带的要快。

至于右键,若是你刚开始实在记不住快捷键,只能使用它了,或者Alt+R,实际上它也要比右键菜单快一点点。

真正激动人心的是在随着你逐渐熟悉Resharper之后,可以带来的诸多方便之处,我将会在接下来的一系列随笔中讲述。

Resharper进阶二:快速定位

摘要

快速代码定位的核心就是三个功能:

  •     转到定义:Ctrl+B;
  •     查找全部使用:Alt+F7;
  •     从这里浏览:Ctrl+Shift+G.

转到定义

当你的光标在一个变量上时,按下Ctrl+B就会跳转到这个变量声明的地方。这多是某一个字段,某一个方法的参数或者一个局部变量。

当你的光标在一个类型上时,按下Ctrl+B可能发生两种状况,一是当这个类型的定义在你的项目中有源代码时,会跳转到这个源代码文件。若是没有源 代码,则会打开一个对象浏览器。有一些使用者更指望跳转到元数据文件,可是我更喜欢对象浏览器,这样类型的公有属性、方法、事件都被列出来了,能够一目了 然。就个人经验,列表永远比下拉框,选框更加易于查找。

可是这个功能有一个反作用,多年使用Windows的经验告诉咱们,按住Ctrl的时候点鼠标左键,默认的操做是选中一整个单词,可是在安装了 Resharper之后,这个操做实际上等于Ctrl+B,也就是说可能你想选择这个变量的名字,而后复制到别处去,但是却跳转到了这个变量的声明处,不 由得让你一阵恼火。目前我尚未找到选项屏蔽掉这个操做,因此,只有用鼠标双击来选择单词了(提示:若是跳转到了别处,想返回,按Ctrl+-)

查找全部使用

Alt+F7,有感受吗?不错,就是TotalCommand里搜索的快捷键,没有用过TC,还在用资源管理器?那可不该该。简而言之, Alt+F7将你光标所在位置的变量的全部使用以列表的方式显示出来,显示结果的窗体能够像其余窗体那样停靠。

它的优势包括:

  • 能够从全部使用中挑选只显示read usage或者write usage,有时咱们只是想知道某个变量在哪里被改变了。找到的位置前的图标也告诉你这点。
  • 能够在下方预览,即便咱们列出全部使用,也不想跳转到每一个使用它的地方,这时预览能够帮你大忙。
  • 当你在代码编辑器中改动了某些使用时,好比删除了某行,那么在查找结果的窗体中,会用删除线表示出来。
  • 默认的是寻找解决方案中全部的使用,而且按照命名空间来组织,很是便于选择。

我如今已经记不起来在没有Alt+F7以前我是怎么查找的。反正如今我几乎不怎么样Ctrl+F了,除非我忘记了某个变量的名字。若是是这样,多半 这个名字须要refactor,那也是Resharper的另外一大块功能所在。也许有人对这个功能嗤之以鼻,可是用过CAB的人都知道,订阅和发布某个事 件的签名,彻底是字符串,若是你不用搜索来找到它的话,你都不知道这个控件的鼠标点下去,到底有多少个处理程序在背后开始工做了。用了Alt+F7来搜索 这个字符串,等于在查找背后全部的调用者。

不过提示你,当光标停留在一个类型上时,要慎用Alt+F7,假设是一个string,你应该能想象到得找到多少个使用。

从这里浏览

实在不知道用什么中文来翻译这个navigate from here...,只好直译了。你可能在这些时候须要它:

当你要找这个类的全部继承者,或者接口的全部实现者时,按住Ctrl+Shift+G会弹出一个菜单,其中有Inheritor,用方向键来选择并 回车,若是只有一个实现,那么直接跳转到这个实现,若是有多于一个,或者由于使用了partial分布到好几个文件中,会再弹出一个菜单来供你选择。与此 相似,若是你选择base,则会跳转到基类或接口中去。

同时这个功能也囊括了前面的转到定义和查找使用,若是你偷懒的话,只记住这个就能够了,虽然Ctrl+Shift+G的快捷键有一点生僻,可是用着用着你就发现顺手了。

这个功能不可不谓是用来熟悉一套框架的利器,可让你迅速找到某个接口的全部实现,和Alt+F7合用,可让你在一个庞大的解决方案中如鱼得水。

下一次,咱们该来说一讲威力无比的Alt+回车了

Resharper进阶三:快速完成 
经常写代码的人,应该都对Visual Studio的智能感知有必定的好感,经过它,在输入比较长的对象名称时不以为吃力了。恐怕这是.net平台比其余平台的代码更加易读的一个因素,由于每 个变量名称都比较有意义,而不是晦涩的varIdx,pElemDisp之类了。尽管这样看起来很酷。 
在没有Resharper以前,Visual Studio的自动完成功能就很强大了。只是它定义的快捷键实在是让人不顺手。Alt+右方向键,我怎么都没法不低头按它俩。因而我把快捷键改为了Ctrl+;(分号)这样按起来方便多了。 
Resharper则在Visual Studio的基础上又增添了一些功能。好比说,在原生的自动完成中,关键字,好比private,override这些,是没有提供自动完成的(有吗, 我已经不记得了)。还有这下面一些,则是Visual Studio原生确实没有的: 
当你写一个新的字段时,好比string _field; Resharper会自动地在前面为你加上private,也许有的人以为多余,但我以为是应该的。 
当你输入foreach的时候,模板会自动的出现,方便你输入集合还有子项的类型与名称,回车以后就进入到块中。这类的模板你能够自行定义,并在团队中共享。这样在处理某些特定的场景时,代码的执行基本一致。 
在你须要输入{的时候,Resharper可以自动的为你加上},而且光标位于其中,若是你敲回车键,两个括号和你准备接下来要写的块内的代码都缩进对齐了。这个功能远远不仅提及来那么简单,当你发现本身能够所以忘记每次括回去的时候,是多么的惬意。 
同理,在你输入[或者(的时候,Resharper也如此为你添加成对的括号。 
这样也有不方便的时候,好比你在调用某个方法的时候,其实你只是想输入(,而后开始写参数,再写),而后写分号,但是它恰恰帮你写了,特别是当参数仍是一 个字符串的时候,你输入",它又自动的帮你写了",而且把光标置于其间,好多时候搞得你很恼火。由于你要敲end键挪到行尾,再写;,而end键也很难在 你不低头的状况下按准。实际上,这时你的选择还不如老老实实写上"),也比敲end来的快。因此为方法自动的添加括号的功能,只有在不带参数的状况下使用 才最惬意。 
总的说,自动完成函数的输入工做,仍是一个很实用的功能,如今你须要输入ToString()的话,只须要最多敲四个了ToS和;就能够了,其余的部分Resharper都自动为您完成。 
最后再卖弄一下,将自动完成的快捷键换成Ctrl+;的话真的很是棒,即便你没有安装Resharper,也可能考虑把原生的快捷键更改掉。在我全部用的电脑上,我都偷偷的把Ctrl+;添加进去了。由于这两个键实在是太好摁了。

Resharper进阶四:万能的Alt+Enter

万能的Alt+Enter可以帮你完成不少编写代码过程当中的dirty work,总结起来大概是这么些:

  • 帮你实现某个接口或抽象基类的方法;
  • 提供你处理当前警告的一些建议;
  • 为你提供处理当前错误的一些建议(不必定是真的错误);
  • 为你简化当前的臃肿代码;

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

提供你处理当前警告的一些建议 
有的时候你可能会忽略的一些细节,Resharper不会忽略,好比你用了隐式类型转化:

Button btn = sender as Button;      //隐式类型转化

而没有接下来检测它是否为空,就直接使用。这时Resharper会提示你一个警告。若是你按下Alt+Enter,它会把你以后的代码包括在一个if语句中:

if (btn != null) 

//你接下来的代码 
}

不过令我不满意的是,我时常要的是这样的效果:

if (btn == null) 
return;

不知道这个行为能不能在配置中修改。 
为你提供处理当前错误的一些建议 
被Resharper标记为红色的即为错误了,有时错误也多是你有意为之。好比你随意地在View.cs中写下了:

_presenter.GetAllLayers();

而实际上你的Presenter.cs中尚未这个方法,那么按下Alt+Enter就会当即在Presenter.cs中添加这个方法,并跳转到 该方法,若是Presenter不止分布在一个文件中,会弹出对话框让你选择。相比于Visual Studio常常臃肿的对话框,Resharper的弹出对话框每每十分直接,你只需当即用方向键选你须要的并回车。 
为你简化当前的臃肿代码 
你的代码若是被Resharper视为多余的,那么会以灰色标识出来,例如:

this.Text = "标题栏文本" //this为灰色 
btnOK.Click += new EventHandler(btnOK_Click)  //new EventHandler为灰色

多余的代码并没有害,只是显得不那么简洁,若是你头一次在安装了Reshaper以后打开你以前编写过的代码会发现大量的灰色代码。若是你查看设计器 生成的代码,会发现Reshaper的竖直条几乎变成了橙色的一条了。基本上,你均可以用Reshaper为你本身的代码瘦瘦身,设计器产生的,好比窗 体,或者Dataset仍是不要动的好。

Resharper进阶五:高效的代码结构调整

经过我以前介绍过的Alt+F7和Ctrl+B,你能够很快的在一个代码文件中知道函数的调用状况。可是有的时候,代码文件很是复杂,里头有几十个 函数都算是小儿科,甚至一个构造函数就有N多个重载。这时你想清楚的了解文件中各个函数,属性,字段,事件等等,就不是那么垂手可得的事情了。

在Visual Studio中,你能够经过这些方式组织或审视你的代码:

用region,这是最常使用的,我最喜欢的分法是:Field, Property, Event, EventHander, 而后根据实际状况,Constructors(若是构造函数重载多的话),Helper(若是有许多公用的流程的话),再就是跟某个特定任务想关联的一系 列方法组成一类。 
当你用region把你的代码组织好了之后,确实显得很简洁。可是问题来了,当一个同事check了你的代码,而后准备修改,这时,他想要理清你的思路, 因而在你的代码里开始奋战,啊,这个调用了那个,噢,这个地方能够接受0个或者1个或者三个参数……过了一个小时,他总算能够开始写他要改的那个部分了。 region的缺陷就是让写的人很明白,而读的人仍是很费劲。


用对象浏览器能够把你的方法结构展示出来,但致命的是它是按照字母排序的,对于咱们中国人来讲,实在是难以找到像 FilterSelectableLayerByName这样一个其实自说明性很强的方法来。而实际上你又把它装进了一个“图层控制”的region里 面,而你的读者却没法参透你的用意来。(若是你经常下载codeproject上的代码的话,会知道这种事情常有。) 
说了这么多,其实就是想把对象浏览器和region的长处结合起来,既能够清晰的分类,又能一目了然的找到须要的方法。Resharper这时帮上你的大忙了。用Ctrl+F12,就弹出一个像右边这样的窗口来。

这里面,按照你的region来显示,这样读你的代码的人也受益了。每一个方法的参数,返回值都如UML同样列出来。

  • 若是须要浏览到某个方法,直接双击它的名字;
  • 若是要把某几个方法装进一个新的region,则能够选中方法,点工具栏上的像框的那个图标;点叉则会删除这个region并把相应的方法移到外面来。
  • 若是要调整某个方法的位置,好比把它移到别的region里面去,只须要在这里拖动这个方法便可。
  • 更可喜的是,你想要的从这里浏览、找到全部使用和重构的功能也在这里提供了,在某个方法上右键你就能开始操做。

这绝对是Resharper里面最酷的功能,你快打开Visual Studio试一试吧。

Resharper进阶六:重构才是王道(上)

重构是一种精神,证实你在致力于提供高效的、精炼的、健壮的代码,而不是凌乱的、晦涩的、漏洞百出的代码。 
在Visual Studio 2005中,微软第一次提供了重构工具。可是不够,远远不够。咱们须要的重构是很是广义的,咱们想要对代码进行快速的调整,快到我在想什么个人工具就能作 什么。这才是追求重构的境界。因此在这个意义上,几乎Resharper为你提供了巨大的生产力。 
Visual Studio 2005提供的重构包括了以下:

  1. 封装字段
  2. 提取方法
  3. 提取接口
  4. 提高局部变量
  5. 移除参数
  6. 重命名
  7. 从新排列参数

这些方法在Resharper中所有都支持(但Resharper的重构远不止这些),它们对应的变成了:

  1. 封装字段 —— Introduce Field
  2. 提取方法 —— Extract Method
  3. 提取接口 —— Extract Interface (另增长了Extract Superclass提取为基类)
  4. 提高局部变量 —— Introduce Variable
  5. 移除参数 —— 移到Change Signature(改变方法签名)中
  6. 重命名 —— Rename (Resharper会根据对象的类型名称,提供你几个可选的最合适的名称)
  7. 从新排列参数 —— 移到Change Signature(改变方法签名)中

我知道不少人都声称本身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进阶七:重构才是王道(下)

插入代码 
Resharper的Alt+Insert快捷键提供给你插入代码的功能。因为这两个键很是难按(这是个人感觉),真正在使用的时候,我用的是Alt- R-C-G,意指打开Resharper菜单——Code——Generate,都只须要你的左手,这样你能够右手一边比划,一边还在写代码,多酷啊。

  • 生成的代码中最经常使用的是构造函数和属性,当你没有私有字段的时候,只会生成一个空的默认构造函数,并且没有生成属性的功能。在你有私有字段的状况下,生成以前会让你选择哪些私有字段须要做为构造函数的参数,并生成初始化的代码,这样编写重载极其方便。生成属性也相似。
  • 再次经常使用的就是重写基类或者接口的方法了。选择Implement Interface Member或者Override Inheritate Member,Resharper会查找当前类的基类或接口,而后按继承层次列出来,根据你的选择重写或实现这些方法。
  • 不 是太经常使用的是生成Equals和GetHashCode方法,在个人应用场景中不多重写它们。可是根据《.NET设计规范》,无论是值类型仍是引用类型的 Equals都建议重写,而且应该重写GetHaseCode方法,由于它们相互依赖。若是你有这个需求,那么生成这三个函数必定可以帮你的大忙。

包围代码 
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的重构功能就是这些,我可能天真地把不少额外功能都算在重构里了,可是它确实可以帮助你快速的对代码进行调整和优化。因此,请不要深究我对重构的概念认识是否是混乱。

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自动就给你定位了。 
无论怎么说,它带给我更快更方便的开发体验,把我从一些琐碎的,不人性化的功能中解放出来。从这一点上来讲,我很但愿愈来愈多的人喜欢上它,开始用它,并帮助它更好的发展。

 

 

须要文件的话私聊我 

相关文章
相关标签/搜索