Resharper详细教程
前言
原文中部分快捷键在8.2版本中不适用,我已改正,并用红色标注出来
在线API:https://www.jetbrains.com/help/resharper/Introduction__Index.html
Reshaper是什么
即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才是更强大的。可是,即便如此,仍阻止不了一些第三方的个人和厂商开发出一些插件来让 VS 变得更强大。Reshaper
就是这样一个 VS 插件,它提供了一些在 VS 基础上更方便于程序员使用的功能,当然,劣势是:它耗掉了更多的内存,有可能让你不够强大的开发机变得更慢。
安装完毕后,在 VS 的 Menu 里,会多出个 RESHAPER
。 可以按 Alt+R
打开这个菜单(如右图所示)
设置
智能提示
安装完毕后,IDE 的智能提示(Intellisense
)便会默认使用 Resharper 的提示,不知道为什么,我一直不太喜欢它的提示。改过来,是在Option的窗口中,也可以自定义
快捷键
强烈建议你使用 Reshaper 的快捷键,不要担心 Reshaper 会把你原来的快捷键设置给覆盖了,因为如果某个快捷键和 VS 是冲突的,Reshaper会让你自己选择需要使用 VS 还是 Resharper 的快捷键,看如下界面:
注意,不要选择 Apply to all Reshaper shortcuts
,如果选择了,这个界面将不会再出现了,而一般情况下,你会更喜欢在冲突的时候让自己做决定。
当然,如果你一定要使用 VS 原来的快捷键,那么,就应该在 Option
的如下窗口中选中红框内的选项,然后抖抖手,点 Save
:
与 StyleCop
的整合
如果我们同时安装了 StyleCop(http://stylecop.codeplex.com/) ,则 Resharper
会整合提示你当前的代码是否符合你的 StyleCop
设置。
PS:以下配置基于 StyleCop 4.7 和 Reshaper 7.1.3。在某些情况下,版本较旧的情况下,StyleCop 和 Reshaper 没有整合到一起,使得你在代码规范的道路上不能使用 Resharper
的提示。
整合后,我们可以在 Option
界面的 Code Eidting-〉Code Cleanup
界面,Add
一个新规则,然后,在新规则中可以看到 stylecop
选项,如下:
经过了这些设置后,IDE 就会根据这个设置的标准进行提示,如下:
Reshaper
设置规则和StyleCop
冲突
熟悉 StyleCop
的码友们都知道,如果你的项目设置了 StyleCop
本身的规则,StyleCop
就会生成一个设置文档,如下:
那么,Reshaper 的 StyleCop
设置规则和 StyleCop
本身的设置规则能否变成一个呢?答案是:很遗憾,不能!你必须两头设置,使其变成一致。所以对我来说,Reshaper那个提示或者CodeClean只是个辅助手段,StyleCop
那个的 “Run StyleCop
” 才是最终的提交准则。
如果不喜欢某个提示该怎么办?
是的,你可以修改设置。如下:
在这个例子中,我不喜欢将下划线开头的变量作为 warning
进行提示,我们就可以选择最下方的 change settings……
进行修改,选择后,如下:
可以看到,我们修改为加了前缀。
万能的 Alt + Enter
如果我们使用了 Reshaper 的快捷键设置,那么,在每个出现提示的地方,点击 Alt + Enter
组合键,就会弹出 Resharper 建议你要进行的操作,比如:
在这个提示里,Reshaper 告诉我们没有引用 System.Text
这个命名空间,这个时候,点击 Alt + Enter
就会自动 Using
该命名空间了;
自动完成语法糖
再比如:
在 StringBuilder
上 Alt+Enter
组合键,就会提示你此处要用 var
。
或者,又比如在 if
上使用组合键,就会提示你用三元运算符:
总之,Alt + Enter
是万能的,看到提示,就使用它,你常常会得到有意义的帮助来提升你代码的质量。一些复杂的 LINQ 你不会写,使用 Alt+Enter
就会自动帮你将一些代码转换成很牛叉的 LINQ,看上你好像是个 LINQ 高手一样;
提示
这个小灯就是提示,如果不想使用 Alt + Enter
,就用鼠标猛戳这里,也会出现 Resharper 的建议。
Find Usage
Find Results
在某个类,或者变量,或者方法上点 Find Usage
,或者戳快捷键 Alt+F7
,就是把你选中类或变量或方法全部被引用到的地方显示出来。话说,VS2012之后的查找和查找引用功能简直弱爆了。总之,这个功能也是 Reshaper 的一个亮点。
尤其,我们注意到图中处,它将你多次查找用页签的形式给你保留了起来,我们在分析代码的时候,往往会一次性查找多个变量的引用,在这个时候,就特别有帮助。总之,这个功能必要而且很程序员。
查找赋值
假如我们想查找某个属性在那些地方被赋值,这个功能就相当实用。我把此快捷键设成了 Alt+F8 - Value Origin
,或者你可以 鼠标右键,选择 Inspect – Value Origin
如下图查找结果,共有2处地方对它进行过赋值
File Structure
你是否恼怒与查看类的结构要去戳这个下拉框:
这个时候,你按组合键 Ctrl + Alt +F
,就会出现 Resharper
的 File Structure
窗口:
很方便的让你看到你的整个成员变量窗口。
万般兼重构
一个永远写出完美代码的程序员永远只存在于一个 白痴Leader 的头脑里,作为码畜的我们都知道,代码是重构出来的,永远不是设计出来的。所以,你永远需要 Ctrl + Shift + R
:
Resharper 把你可能用到的重构方法都列出来了,动动键盘或者鼠标,你即刻就可以完成一次重构。
快速完成代码
使用 VS 提供的智能感知和 TAB 键,能够快速完成代码,比如输入代码 prop
,然后按 Tab
键,就会自动创建一个属性,不过 Resharper 提供了另外的选择,看上去可以完成更多的代码。
按组合键 Alt + Insert
,出现如下窗口:
话说我从来没有使用 VS 的方法自动完成过创建一个构造器,而使用 Resharper 就可以轻松实现。
Cleanup Code
写了一个龌蹉的类之后,什么是最愉快的,就是让它顺便变干净以及变规范,这个时候,我们需要右键 Cleanup Code
(Ctrl + Alt + F):
Resharper
提供了一种选择,让我们自己设置 Cleanup Code
的规范,当然,因为我们已经引入了 StyleCop
,所以这个规范可以设置起来非常方便。
PS:以上属于开发中常用的 Reshaper
的功能,本文用于培训组员使用 Reshaper
用,着重想讲一讲快捷键冲突的问题和与 Stylecop
结合的问题。
Resharper详细教程相关推荐
- ReSharper 全教程
Resharper系列 更多关于Resharper的介绍 参考我之前的文章: Resharper 详细教程 提升ReSharper和Visual Studio的性能 Visual Studio中使用R ...
- JetBrains DataGrip安装和使用的详细教程
前言 日常开发中少不了各种可视化数据库管理工具.如果需要同时能连接多种数据库,大家肯定都会想到 DBeaver.Navicat Premium.本文介绍另一个十分好用且强大的工具:DataGrip. ...
- 手把手从零开始搭建k8s集群超详细教程
本教程根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps同步所做笔记教程 k8s集群搭建超详细教程 1. 基本环境搭建 1. 创建私有网络 2. 创建服务 ...
- win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护
全面优化win10电脑系统详细教程 以下针对win10系统的电脑全面优化的步骤: 步骤1:禁止开机启动项 1.首先我们先来优化开机速度,拖慢开机速度的首先是开机自启动项,Ctrl + Shift + ...
- GPU运行Tensorflow详细教程及错误解决
GPU运行Tensorflow详细教程及错误解决 前提条件 配置GPU运行 确认是否成功配置 出现的错误及解决方案 前提条件 最重要的一点:CUDA与tensorflow的版本一点要对应,不然用不了! ...
- VMware虚拟机安装黑苹果MacOS Mojave系统详细教程
更多资源请百度搜索:前端资源网 欢迎关注我的博客:www.w3h5.com 最近遇到一个H5页面的 iPhone X 刘海兼容问题.查到一个 XCode 编辑器,可以模拟 iPhone X 环境运行. ...
- [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )
[分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 ) billcheung 发表于 2011-10-23 00:07:49 https://www.itsk.com ...
- win七系统如何卸载MySQL_win7系统卸载SQL2008R2数据库的详细教程
用过SQL2008R2数据库的朋友都知道,安装起来容易卸起来麻烦,可是在win7 32位旗舰版系统就不知道怎么卸载SQL2008R2数据库了.其实卸载SQL2008R2数据库的方法也很简单,可直接通过 ...
- Ubuntu系统安装搜狗输入法详细教程
Ubuntu16.04系统安装搜狗输入法详细教程 解决Ubuntu 18.04中文输入法的问题,安装搜狗拼音
最新文章
- JavaScript创建元素的三种方法特点及对元素的操作
- 源码解读Mybatis List列表In查询实现的注意事项
- Nero 9 Lite 9.4.12.708 最新最好破解刻录软件下载
- xFace3.x 开发技巧(1)---从web开发转向移动开发
- 前端学习(3011):vue+element今日头条管理--关于编辑器代码段
- ADB投屏_最强开源投屏神器,跨平台电脑控制+文件传输——scrcpy
- 王道计算机考研课件,王道考研计算机组成原理课件ppt
- 《原力计划【第二季】》第 2 周周榜揭晓!!!
- PHP 怎么随机获取数组里面的值
- 如何在苹果Mac中使用聚焦搜索 NTFS 格式磁盘?
- 新兴IT企业特斯拉(八)——自动辅助驾驶
- 汇编语言与微机接口——交通灯设计
- linux根据文件内容查找文件名,linux在当前目录下根据文件名查找文件
- 微信公众号如何上传html5,微信平台公众号怎么上传视频? 视频支持哪些格式
- 丧尸,只要摧毁头部便会永久停止行动
- 架构师接龙:腾讯高级工程师邝宇恒VS. 百度架构师侯震宇
- Windows命令行下常用网络命令解释大全
- [Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
- 互联网 IT 精英:龙泉寺静心之旅 1
- Apache DolphinScheduler 在叽里呱啦的实战经验