每个人都应该知晓的8项Resharper快捷键
(此文章同时发表在本人微信公众号“dotNET每日精华文章”)
如果你已经在用Resharper这个编程神器(机器杀手)的话,那么为了进一步提高工作效率熟悉它的一些特殊特性和快捷键那是必须的。
Resharper是JetBrains出品的一款Visual Studio插件,它的强大是人所共知的,有了它VS是如虎添翼(当然前提是你的机器要先添内存)。不过很多人其实没有高效的利用它所提供的强大特性,Vladimir Khorikov就在一篇博文中描述了8项人们很少了解和使用但是对日常工作非常有用的特性及它们的快捷键。
1,上下左右移动
VS内置的功能可以方便的移动一行,但是Resharper的移动功能可以移动整个方法的位置,属性的位置,语句行的位置,乃至方法签名中参数的位置。默认的快捷键是:Ctrl + Shift + Alt + Up/Down/Left/Right,不过为了更加方便,作者建议重新映射为Alt + Up/Down/Left/Right。
移动方法的动画如下:

2,导航到下一个和上一个成员
这个特性很适合和上面一个特性配合在一起用,比如先导航到下面一个方法,然后把方法上移。这个特性的快捷键默认是Alt + Up/Down,现在最好映射为Ctrl + Up/Down。
效果如下面动画所示:

3,导航到解决方案中的下一个错误处
接下来一个极有用的特性是导航到解决方案中的下一个错误处,让你可以快速地浏览所有编译错误。默认的快捷键是Shift + Alt + PageDown/PageUp,而作者推荐最方便的快捷键是Ctrl + Shift + Down/Up。
4,导航到所属的方法和类上
这个特性可以让你导航到当前行属于的方法签名处,或者所属类的定义处。它的默认快捷键是Ctrl + [,本身就很顺手了。
这个特性用文字解释起来可能没有这么直观,还是看图就一目了然:

5,选择所属的方法和类
有时候,你可能希望的不是导航到所属的方法和类上,而是希望选择整个方法或类,那么就用Ctrl + Shift + [,如果选择的整个方法还想接着选择整个类,那么就再按一次Ctrl + Shift + [。
6,列出最近编辑位置
我比较常用的一个特性是列出最近编辑的文件,而在一个文件当中想快速回到之前编辑的地方,那么用快捷键Ctrl + Shift + Comma就可以列出最近编辑位置的列表。如下图:

7,在解决方案管理器中定位正在编辑的文件
VS内置类似特性,不过需要点鼠标来操作。使用Resharper后,可以通过快捷键Shift + Alt + L来快速定位。
8,迅速为一行代码加上大括号
我之前要完成这个操作,都是移动到这行的头,然后添加左括号,依靠编辑器自动加上右括号。不过使用Resharper的万能快捷键Alt + Enter后,接着按一下Enter就可以搞定。
比如:

由于Resharper可以使用MVP身份申请到License,所以我很早就开始使用;到目前的9版本,功能越来越强大了。有了它,代码编写效率真的提高很多,且代码规范、重构等都可以依靠它。对于还没有使用过的朋友,真的可以试试;对于已经在使用的朋友,摸透它的快捷键确实很有帮助。JetBrains专门有发布完整快捷键列表的pdf文档,“阅读原文”中就有这个pdf的链接。
原文地址:http://enterprisecraftsmanship.com/2015/03/27/8-resharper-shortcuts-everyone-should-know/
每个人都应该知晓的8项Resharper快捷键的更多相关文章
- 移动IP 它最初设想每个人都在编写应用层(7)API而不是传输层(4)API 对于QUIC,连接的标识符不是“套接字”(源/目标端口/地址协议组合)的传统概念,而是分配给连接的64位标识符
小结: 1. 因为您对OSI模型的教育中缺少的一点是,它最初设想每个人都在编写应用层(7)API而不是传输层(4)API.应该有像应用程序服务元素之类的 东西,它们可以以标准方式处理文件传输和消息传递 ...
- Maven系列第8篇:你的maven项目构建太慢了,我实在看不下去,带你一起磨刀!!多数使用maven的人都经常想要的一种功能,但是大多数人都不知道如何使用!!!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第8篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- 年薪100万的人都是怎么玩Excel的?
年薪100万的人都是怎么玩Excel的? 2017-12-21 13:42美国 作者:珍妮Jenny 来源:一周进步(ID:weekweekup) 本文已获原作者转载授权,如需转载请联系原公号 本文重 ...
- 关于DevOps的七大误解,99%的人都曾中过招!
[摘要] DevOps方法可以为组织带来显著的积极影响,降低成本.提高效率,使开发团队的工作更加精简.为了掌握这个过程的优势,有必要认识到DevOps是什么.不是什么.在本文中,就将讨论一些流传甚广的 ...
- 上传伪技术~很多人都以为判断了后缀,判断了ContentType,判断了头文件就真的安全了。是吗?
今天群里有人聊图片上传,简单说下自己的经验(大牛勿喷) 0.如果你的方法里面是有指定路径的,记得一定要过滤../,比如你把 aa文件夹设置了权限,一些类似于exe,asp,php之类的文件不能执行,那 ...
- 99%的人都理解错了HTTP中GET与POST的区别(转载
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 99%的人都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 身处IT的你对身边人都有哪些影响
前不久,跟外甥一起吃饭:他明年就要中考了,我就想,这马上就到人生的关键路口了,看他自己对将来有什么想法没:就问了句:勇勇,你以后想学习哪些方面的东西或者想从事什么工作呢?他简单的说了句:我要跟你一样学 ...
- 一道月薪3W的java面试题 (小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日)
小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日 是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3 ...
随机推荐
- &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
形如—— &#dddd; &#xhhhh; &#name; ——的一串字符是 HTML.XML 等 SGML 类语言的转义序列(escape sequence).它们不是「编码 ...
- Gradle用户指南(3)-构建Java项目
1.构建基本的Java项目 为了使用 Java 插件,添加下面代码到构建文件: build.gradle apply plugin: 'java' 这个就是 定义一个 Java 项目的全部.它会将 J ...
- Mongodb c#增删改查
写在前面 最近项目需要,就研究了下mongodb,也是为了快速上手,就自己弄了一个简单的例子,这里记录一下. Mongodb 传统的关系数据库一般由数据库(database).表(table).记录( ...
- SqlDataReader读取分页数据,pageCount你是肿么了?
自己在折腾代码的时候发现,SqlDataReader读取分页数据,存储过程中的输出参数总页数pageCount获取不准确. 我已经问过百度,技术群等..... 都说SqlDataReader用过后关闭 ...
- SVM算法入门
转自:http://blog.csdn.net/yangliuy/article/details/7316496SVM入门(一)至(三)Refresh 按:之前的文章重新汇编一下,修改了一些错误和不当 ...
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...
- POJ 2442 Sequence
Pro. 1 给定k个有序表,取其中前n小的数字.组成一个新表,求该表? 算法: 由于 a1[1] < a1[2] < a1[3] ... <a1[n] a2[1] < a2 ...
- SpringMVC利用拦截器防止SQL注入
引言 随着互联网的发展,人们在享受互联网带来的便捷的服务的时候,也面临着个人的隐私泄漏的问题.小到一个拥有用户系统的小型论坛,大到各个大型的银行机构,互联网安全问题都显得格外重要.而这些网站的背后,则 ...
- 5款Linux最佳照片管理软件
在谈到 Linux 中的应用程序时,对于不同的用户.不同的使用场景以及不同的使用习惯,在同一类应用当中,总会有多种软件可供选择和备选.就 Linux 中的照片管理软件来说,相信此前的 Google P ...
- bellman ford优先队列优化简介模板
#include<iostream>#include<cstdio>#include<utility>#include<queue>#include&l ...