Resharper中文帮助文档一.Resharper介绍Resharper是一款编码扩展程序。他除了.net语言版本以外,还有其他版本。比如说Java,PHP,ObjectC版本等。在.net框架下,其支持VS2003,2005,2008,2010。语言支持包括c#、Vb、HTML、ASP.NET、MVC(最新支持3.0)、JavaScript、CSS、XML、XAML。Resharper可以帮助程序员快速生成代码,分析代码,重构代码,格式化代码,代码模板,以及单元测试。可以说,熟练使用这款软件,可以大大加快编码效率,提高编码的规范性,准确性,稳健性。以下讲解Resharper的常用功能。详细文档请参考Resharper帮助文档。相关讲解也参考了帮助文档上的相关内容。二.使用说明1.代码分析CodeAnalysis代码分析是Resharper最常用的功能。包含错误提示,专案解析,快速修正等。(1)代码高亮当代码中出现错误,或者其他可能引起异常,可改进,可优化的地方时。Resharper将会高亮显示代码。(错误)比如说未声明:语法错误。(警告提示)当代码中出现未使用的对象,比如说值,类,命名空间等。就会以“灰色”来提示。灰色部分是可以移除的。点击灰色代码行,再右侧会出现一个红色的灯泡:点击Removexxx,可以移除代码行。下面的选项是设置用的,不建议改动,否则改回来比较麻烦。(建议)建议是Resharper另一个非常有特色的功能,通过建议,我们可以写出比较漂亮的代码,优化代码结构。同时可以养成良好的编码习惯。(2)专案解析专案解析可以分析整个专案中可能出现的错误,警告。如果需要开启专案分析,你可以在右下角找到开启的按钮。双击,然后选择OK。如果项目很大,比如说Clop,而你的电脑2G内存。那么,恭喜你,你可以感受到敲一下,卡五秒的感觉了。此功能相当耗CPU,耗内存。体质不好的童鞋,请不要玩。建议I5处理器以上,4G内存以上,64位系统的童鞋玩。不过卡过去了,也就没有那么卡了,有缓存机制的。关闭代码分析请从设置里面关闭。专案解析完毕,Resharper会提示相关警告,错误信息。双击可以快速定位到代码行,也可以按(ALT+F12)跟踪到下一个错误。Shift+ALT+F12上一个错误。(3)快速修正当代码出现异常,或者警告时,可能程序员不知道怎么修正。那么使用快速修正功能,可以修正该异常。快捷键Alt+Enter修正分两类,一类是红色,一类是。红色的修正提示是一般是比较严重,或者强烈建议修正的问题。用蓝色曲线标注。例如:黄色是普通,优化性的问题。用户可以选择修正,也可以不修正。用绿色曲线标注。2.代码辅助CodingAssistance(1)智能对象通常我们的代码提示只能完成上下文,或者专案中的对象,对于一些你想用,但是记不住名,或者单词很长,你无法准确拼写出来的代码。你可以采用短名+快捷键(Ctrl+ALT+Space)的方式去生成。例如:(2)快速完成快速完成是通过一些组合键的形式,快速生成代码片段.快捷键为Ctrl+shift+Enter例如,我们创建一个方法:按Ctrl+shift+Enter立马生成(3)上下文解析上下文解析是通过自动分析程序员编写的代码,解析出可以被Resharper所识别,并可以做一定调整。程序员点击代码行,在IDE的右侧可以看到相关的图标。解析类型分三类::代码编辑动作通过该动作,可以将对象进行优化,或者调整。:可以重构对象例如:我没有见过。(4)高亮分隔符在编码过程中,我们有时候很难搞清(和哪个)对应。特别在(非常多得时候。那就比较头大了。在一些逻辑比较复杂的方法中,也很难找到其对应的{}。通过高亮提示分隔符,我们可以很快找到匹配的分隔符。(5)其他a)快速注释,取消注释。快捷键Ctrl+/,取消也是Ctrl+/注释多行代码可以选择多行,按Ctrl+/也可以按Ctrl+shift+/b)复制历史虽然我们的工作有一部分是在做重复地Ctrl+C,Ctrl+V。但是还是需要一点点手段和技巧。快捷键Ctrl+Shift+V你看到了什么?对,复制历史。你刚才复制的东西都在里面了。3.代码生成CodeGeneration还在重复地写GetSet的属性吗?还在努力地写构造函数吗?还在一个个地实现接口对象吗?有了Resharper,你可以少些N行代码。快捷键alt+Insert;Ctrl+Alt+Insert例如:生成属性,私有对象,私有常量,请按P生成类,构造函数,请按C生成if,else,for,foreach请直接按f,按Enter或者TAB键。还有一些比如说while,try,什么的,按首字母即可。需要完整代码模板,请按Ctrl+J。需要插入region,请按Ctrl+Alt+J4.代码清理CodeCleanUp代码清理快捷键Ctrl+Alt+F代码清理分两种,一种是完整清理,一种是格式化清理。具体清理对象请看下图完整清理会把冗余对象,冗余的this,使用自动属性,使用var,排列Using以及格式化代码行等。而格式化代码,就是相当于把代码重新整理一下,去除冗余空格,使得代码更加整洁美观。5.代码导航CodeSearch面对一大推的代码,我们需要快速找到使用某一对象的所有相关代码。或者查看其声明,查看代码结构。这时候就需要使用代码导航功能。(a)定位声明,定义:Ctrl+鼠标左键或者Ctrl+B按住Ctrl,在需要定位的对象上,点击鼠标右键即可找到该对象的声明,定义处。(b)查看代码结构快捷键Ctrl+F11(c)查看代码层次当一个对象是另外一个对象的父类,或者子类时,通过快捷键Ctrl+Alt+H来完成代码层次的查看。(d)定位到声明的基类或者重载的对象快捷键Ctrl+U(e)定位到对象的实现快捷键Ctrl+Shift+Alt+B这个快捷键太长,一般用右键菜单,选择GoToimplementation。(f)查询对象使用情况有时候我们需要查看一个对象,或者方法在哪里被调用了。我们可以通过使用快捷键Alt+F7,或者shift+Alt+F7来查询。(g)书签当需要在某一代码行上建立书签时,可以使用快捷键Ctrl+~来实现。选择代码行,按Ctrl+~,将鼠标移到需要插入的标签号。按Insert插入标签,移除的话,选择标签,按Delete,或者点击左侧标签,即可删除标签。6.代码重构Refactor代码重构一直是一个比较头疼的问题,重命名还好,当我一个方法参数改变了,或者想提取接口,或者想把方法抽象化出来,亦或者是把抽象类变成接口。属性改成方法,方法变成属性。通过Resharper的Refactor功能就可以安全地实现。重构类型较多,感兴趣的话,可以查看帮助文档中的Refactor章节,里面有详细的说明。7.本地化辅助LocaliztionAssistance本地化辅助主要用于在网页开发中,引用本地资源,包括文件,对象。详细可以参考帮助文档。主要功能是快捷实现对于本地对象的引用,或者加载。8.单元测试单元测试功能用于测试方法,在单元测试方法左侧,可以看到如图按钮。点击相应按钮即可完成相应方法的测试。三.常用快捷键这边整理了一些常用的快捷键,供大家参考。可以打印出来贴桌上,方便记忆。编辑Ctrl+Space代码完成Ctrl+Shift+Space代码完成Ctrl+Alt+Space代码完成Ctrl+P显示参数信息Alt+Insert生成构造函数,属性,重载成员函数,实现接口Ctrl+Alt+J生成if,try..catch,#region块Ctrl+/注释及取消//注释Ctrl+Shift+/注释及取消/**/注释Ctrl+W增量选择块Ctrl+Shift+W增量反选Alt+Enter显示错误的修正方法Ctrl+Alt+F格式化代码Ctrl+Alt+O根据指示修改优化Ctrl+D复制当前行或选定的块查找Alt+F7查找变量,方法的引用Alt+Shift+F7在设定范围中查找Ctrl+Shift+F7高亮显示Ctrl+Alt+Up/Down定位到下/前一个引用Ctrl+Alt+F7快速定位引用位置Ctrl+Shift+F4关闭查找结果tabCtrl+Alt+U定位到查找结果导航Ctrl+N定位到类型Ctrl+Shift+N根据文件名定位Ctrl+E最近文件列表Ctrl+Shift+Backspace上次编辑位置Ctrl+B跳到变量申明处Ctrl+Alt+B跳到继承类或接口处Ctrl+U调到基类Ctrl+Shift+T跳到类型申明处Alt+Up/Down跳到下/上一个方法Ctrl+F12F2/Shift+F2下/上一个高亮度显示的错误Ctrl+Shift+EStackTraceRefactoringF6将类移入另外的命名空间Shift+F6方法更名Ctrl+F6更改签名Ctrl+Alt+NCtrl+Alt+M将选定块抽取为一个方法Ctrl+Alt+V更改变量名称和类型模板Tab根据缩写生成模板Ctrl+J插入模板内置模板:asrt生成assertionear生成空数组foreach生成foreach块ital生成ArrayList的迭代循环itar生成array的迭代循环itdic生成dictionary的迭代循环loop生成loop循环out打印串outv打印变量值pcipublicconstintpcspublicconststringproprotectedpsrpublicstaticreadonlypsvmmain()methoddeclarationritarIterateanarrayinreverseordersfcSafelycastvariablethrthrownewtoar将ArrayList转化为array四.工具选项我们可以根据个人需要配置Resharper的选项。我们如果想使用Resharper的快捷键的话,需要将键位改成Resharper。如果我们需要高亮当前行可以勾选Hightlightcuttentline如果不喜欢Resharper的智能提示菜单,可以恢复到vs的,但是我建议大家坚持一下。Resharper的智能提示菜单比VS的要好。大家的版本是XX版本的,所以不建议升级。其他代码部分,以及语言设置方面,不建议大家修改。这个人家已经默认配置的比较完善了。自己改掉了,很难改回来。