@简介:

1,Resharper提供以下6个核心功能,分别是:

(1). 代码分析(Code Analysis):智能提示代码中存在的问题和修复建议。

(2). 编码助手(Coding Assistance):智能提示自动完成功能。

(3). 代码生成(Code Generation):自动生成属性,构造函数,实现接口,覆盖基类成员,代理成员等。

(4). 代码清理(Code Cleanup): 重新组织代码,并且能够消除代码冗余,以及成员间的排序。

(5). 导航查找(Navigation and Search)。

(6). 重构(Refactorings) 注意:红色字体的功能是重点。

2,代码分析(Code Analysis) 

---Resharper能够在C#,XAML,XML,以及asp.net代码中发现错误和问题,能立即给予提示,并能够给予修复此错误和问题的建议。

Resharper能够给予代码2种状态的提示,分别为:

(1). 错误级别:以红色的波浪线提示,这个级别一般编译不能通过。

(2). 建议级别:以绿色的波浪线提示,这个级别编译可以通过,但Resharper会给予一些改进的建议。

3,编码助手(Coding Assistance) 

---主要功能包括:Resharper增强了vs的智能感应自动完成功能(例如在键入某个类的某个方法提示方法名,属性名等),同时给予变量,类等命名的建议。

4,代码清理(Code Cleanup) 

(1).Resharper能够重新组织代码,并且能够消除代码冗余,以及成9  员间的排序。

(2).快捷键:ctrl+E,ctrl+C,或者在解决方案资源管理器中,选中某个CS文件,在右键弹出的菜单上选择code cleanup.

(3).根据实际需要,选择:Full Cleanup 或者: Reformat Code.

5,代码生成(Code Generation)

(1).Resharper代码生成能够自动生成属性,构造函数,实现接口,覆盖基类成员,代理成员等。

(2).快捷键:光标停在某个类上,使用快捷键: alt+Ins,或者在Resharper菜单下的Edit子菜单中的Generate code.

6,查找和导航(Find And Navigate)

Resharper的快递查找,定位,可以在Resharper菜单中的Find和Navigate中找到。核心就是四个功能:

(1)转到定义(单击要查找的变量,然后单击鼠标左键)

(2)查找所有使用(在需要查找的变量上,单击鼠标右键,选择Find Usages)

(3)导航查看(例如查看某个接口被哪些类实现ctrl+F12,某个类继承了哪些类等等)

(4)查找和替换(Resharper菜单->Find->Search with Pattern)

(5)查看文件结构Ctrl+Alt+F

---实例应用

(1)在感兴趣的变量上单击鼠标右键,选择:Find Usages,或者快捷键:Alt+F7,可以看到当前量的各个用法,如:被哪些其他的变量引用,或者当前变量在哪里赋值等等。

(2)导航查看接口被那些类实现:在接口上键入快捷键ctrl+F12。

(3)导航查看某个类所继承的所有基类:在类上键入快捷键:Alt+Home。

(4)查看文件的结构:Ctrl+Alt+F,将代码中用#region 和#endregion的各个部分以分块的方式组织代码。  在File Structure框中,我们可以方便的拖动某个REGION的某个方法到另一个REGION中去。

7,重构

重构是一种精神,证明你在致力于提供高效的、精炼的、健壮的代码,而不是凌乱的、晦涩的、漏洞百出的代码。Reshaper提供了以下几种重要的重构功能:

(1). 封装字段:能够针对选择的变量,自动建立一个新的字段,并且用这个新建立的字段代替原有的变量名。

(2). 提取方法:分析选中的代码后,自动生成一个方法。

(3). Safe Delete:自动查找所要删除的类的引用,安全删除。

(4). Inline(内联):能够将方法,变量和字段进行合并,消除冗余。分为:方法内联,变量内联,以及字段内联。

(5). 重命名:类的重命名。

(6). 改变函数签名(change singanure)

---实例应用:

(1).封装字段:能够针对选择的变量,自动建立一个新的字段,并且用这个新建立的字段代替原有的变量名。简而言之,就是我们可以指定用何种形式初始话变量。(菜单ReSharper->Refactor->IntroduceField,或者使用快捷键Ctrl+R,F)

---选择Current member,则Resharper会自动生成一个私有字段,并在方法Fun内初始话

---选Field initialize,则Resharper会在定义私有字段出进行初始化

---选择contructor,则会在此类的构造函数内初始化此变量

(2).提取方法:Resharper能够分析选中的代码后,自动生成一个方法(Resharper->Refactor->Extract Method或者Ctrl+R,M)

(3).Safe Delete(Ctrl+R,D):如果一个类,接口等文件需要删除时,我们可以执行Safe Delete命令。此时,Resharper会分析此文件的关联性,如果发现此文件和其他文件发生冲突,则提示不应该删除。

(4).Inline(Ctrl+R,I):这里介绍一下变量的内联,它能够取代多次重复出现的冗余变量,并将之精简化。

例如:const int i=1;const int j=2; int k=i+j; int a=k+i;在变量k处,我们执行Ctrl+R,I,则ReSharper会将冗余变量k清理,清理后结果:const int i=1;const int j=2;int a=i+j+i;

(5).重命名(ctrl+R,R):在所要重命名的类里使用快捷键Ctrl+R,R,最方便的是,Resharper能够命名的备选名字。
(6).改变函数签名(ctrl+R+S):可以方便的修改函数签名,更改函数签名,包括更改名称,返回值类型,参数的各种信息,添加和删除参数,相当实用。如果你是在重写方法上操作,会提示你是否到基类中更改

快捷键列表,黑体往往是使用比较频繁的

VS插件神器 ReShaper入门的更多相关文章

  1. UE4制作插件的插件神器pluginCreator

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/45644007 作者:car ...

  2. chrome插件编写基本入门

    chrome插件编写基本入门  http://igeekbar.com/igeekbar/post/331.htm #精选JAVASCRIPTCHROME 作为一名程序猿,怎么能不会写chrome插件 ...

  3. 前端神器avalonJS入门(一)

    转自:http://www.cnblogs.com/vajoy/p/4063824.html avalonJS是司徒正美开发和维护的前端mvvm框架,可以轻松实现数据的隔离和双向绑定,相比angula ...

  4. 【工具篇】接口测试神器 -- Postman 入门教程

    一.Postman概述 (1)工具介绍 Postman是一个接口测试工具,一款非常流行的API调试工具.在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求 ...

  5. django admin后台插件:django-suit入门

    去年9月底开始用django来做公司内部项目,开始对django有了一些了解,感觉django真的蛮强大的(也有很多人推荐flask,将来有空的话我会试试).今天的话只是介绍一个小东西,django管 ...

  6. 前端神器avalonJS入门(二)

    本章开始搭配requireJS来使用avalon,开始之前,我们可以对avalon进行精简改造(注:新版的avalon已提供了shim版本,无需再做如下的精简了,直接点这里获取). avalon源码里 ...

  7. 包建强的培训课程(10):Android插件化从入门到精通

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  8. 绘图神器-matplotlib入门

    这次,让我们使用一个非常有名且十分有趣的玩意儿来完成今天的任务,它就是jupyter. 一.安装jupyter matplotlib入门之前,先安装好jupyter.这里只提供最为方便快捷的安装方式: ...

  9. Android -------- kotlin插件神器Json直接生成javaBean

    这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开 ...

随机推荐

  1. jQuery实现鼠标悬停显示提示信息窗口的方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 【代码备份】原图降采样后进行NLM滤波

    文件路径: 滤波算法main.m: %% 测试函数 %NLM滤波及滤波与 clc,clear all,close all; ima_ori=double(imread('F:\Users\****n\ ...

  3. [转]ASP.NET MVC 5 学习教程:快速入门

    本教程将使用Visual Studio 2013手把手教你构建一个入门的ASP.NET MVC5 Web应用程序.本教程配套的C#源码工程可通过如下网址下载:C#版本源码链接.同时,请查阅 Build ...

  4. Raw-OS源代码分析之idle任务

    分析的内核版本号截止到2014-04-15,基于1.05正式版,blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样.则是未深究理解部分. Raw-OS官方 ...

  5. 剑指offer 29 多于一半的数

    1. 思路比较简单, 每次从数组中抽出两个数, 若是不同则丢弃两个数, 最后剩下的数即为所求 2. 书中给出的代码实现比较巧妙. 遍历数组中的元素, 变量 result 记录当前元素, time 记录 ...

  6. 第六篇:二维数组的传输 (host <-> device)

    前言 本文的目的很明确:介绍如何将二维数组传递进显存,以及如何将二维数组从显存传递回主机端. 实现步骤 1. 在显存中为二维数组开辟空间 2. 获取该二维数组在显存中的 pitch 值 (cudaMa ...

  7. Android无线测试之—UiAutomator UiWatcher API介绍一

    UiWatcher类介绍与中断监听检查条件 一.UiWatcher类说明 1.Uiwatcher用于处理脚本执行过程中遇到非预想的步骤 2.UiWatcher使用场景 1)测试过程中来了一个电话 2) ...

  8. webpack报错no postcss config...

    终端里运行的错误: 查了好多资料,最后找到解决办法,改为: const webpack = require('webpack'); // const autoprefixer = require('a ...

  9. 使用Mac App Store更新、下载软件时出现未知错误的解决方法

    很多果迷在使用 Mac App Store 更新/下载软件时,可能都曾被”未知错误”困扰过,怎么解决也不行.然而,过一段时间不知道做了什么又自己好了.今天我们提供两个解决这个问题的方法,下次遇到这个问 ...

  10. if...else if...else和switch语句的注意点

    java if...else if...else 语句 if 语句后面可以跟 elseif…else 语句,这种语句可以检测到多种可能的情况. 使用 if,else if,else 语句的时候,需要注 ...