工欲善其事必先利其器,这句话相信大家都听说过。利其器,就是我们先得有个神器,神器就是VS(号称宇宙第一IDE),有了神奇不会用也是白搭,就像你有了倚天剑和屠龙刀你不会使,它也就是废铁(假设它们是铁做的)。那怎叫会用呢,掌握它快捷键这个就是最基本的了,用任何一个IDE为了提高我们的工作效率,我们必须要掌握它的快捷键,快捷键就是为提升各种操作效率而生。当然还必须知道这个IDE的各种插件神器,就如VS的Reshaper和NuGet,如果你做NET开发你尽然不知道!我只能说你out了。
以下一段内容和vs快捷键无关,你可以跳过。
吐槽:作为一个程序员,一个合格的程序员,我觉得至少你应该有追求,至少你得追求新的技术,时刻关注业界的最新情况,与时俱进,跟上时代的发展。我发现有的人是工作了10年,学习和积累了10年,而有的是一个经验用了10,一直不求上进过于保守。说几个真实的例子:公司一个工作了将近10年的NET程序员,从一开始就是做.NET的,他竟然不知道Reshaper,这个他可以不知道,但他连facebook和twitter都没听过,我十分汗颜,我给他说博客园他没听过,说老赵他更没听过,我们项目用EF和WEBAPI他都鄙视我们,在他眼里就只有存储过程和ADO.NET,加上一点WCF,我想说存储过程和ADO.NET我曾经一直用,现在不用是有原因的,反正他就是说我们那个运行效率不行,我给他说开发效率高啥,不需要牺牲很多东西来取得那么点没必要的运行效率,再说根据公司的情况加上项目需求使用ORM(EF)是最适合的选择。提到程序效率我又想说,我看到他的代码还停留在在C#2.0时代,代码里面没有一个lambda表达式,看不到C#的那些新关键字,新特性,如: Func、Dynamic、Action、async、var、对象初始化器和集合初始化器,扩展方法,自动属性,反正代码一点都不“美”,程序很多地方代码写得死,写的不过健壮,各种不讲究代码的"美"和运行效率,我和他说写程序要注意代码的运行效率,他的回答是现在硬件这么好,这点不需要考虑,我又想说程序的效率是从每个细节上抠出来的,他在说我们EF效率不行的同时自己写的程序都不注重代码的运行效率,我只能说翯翯。当我们聊起前端MVVM、MVC、AMD\CMD、FIS的时候我又被鄙视了一把,他说这些各种不好用,甚至AMD\CMD、FIS(百度提的)他都没听过,更不说那些具体的框架了,我问他为啥MVVM不好用,他说是他们以前的同事自己写的但不好用,于是他及其鄙视MVVM。我也想说任何东西都有他的用武之地,把它用在适合它的地方才能发挥出它的威力,事物存在即是合理的,看实物要看到它的两面性,不要只看一面,只看一面你必然了解不到它的本质,就像Jquery确实很好,难道它就没得不好的吗,肯定是有的,如果你不了解你就会乱用。 PS:你们认为我上面说的的程序员是合格的程序员吗,我也不清楚,反正我的想法和他不一样。
快捷键你不可能一次性就把所有的记住并用起来,个人经验是:一次性记住几个最常用的,然后自己在实际的编码中不断地去实践,养成用快捷键的习惯,过段时间回头再看看那些快捷键,在找几个自己平时没用到过但是确实又很实用的运用到自己平时的编码中,就这样不断地学习和实践,最后就会掌握和熟练实用各种快捷键了。
进入正题:VS快捷键,由于我装了resharper,所以有些地方和没装插件的VS是不一样的
最常用的的ctrl+C、ctrl+V、ctrl+shift+v、ctrl+鼠标,可以选中单个单词进行复制粘贴,如果光标在那一行直接按ctrl+c 会拷贝那一行,ctrl+shift+v 一看到shift大家肯定就能猜到这个的意思了,只要你剪贴板的数据没被清楚,你按住ctrl+shift在不断的按v它会把之前你拷贝过挨个给你粘贴出来。 可以用鼠标选中代码然后按住ctrl拖动到指定地方,释放鼠标,代码就直接复制到鼠标释放的地方了,这个用得还是很多的,有时候比用ctrl+c ctrl+v要快。

ctrl+w选中光标所在地方的单词,继续按ctrl+W会加大选中范围,这个在选中单个单词、是函数名、字段明的时候比shift+ctrl+←→要快
shift+alt+ ↑ ←↓→ 选中一个区域 也可以是 shift+alt+ ctrl ←→的组合,左右的时候每次移动一个单词
shift+ctrl+ ←→ 选中,光标跳转的时候会一个单词一个单词的跳过, 如果是shift+←→ 只会一个字母一个字母地移动,一帮情况下都是使用shift+ctrl+ ←→
ctrl+↑ ←↓→ 左右的时候是一个单词一个单词的跳过 ctrl+↑↓的时候是移动当前可视窗口可视光标不动,要想大量的移动可是窗口就用pageup pagedown 或者是ctrl+home ctrl+end

删除一行 添加一行
delete ctrl+delete(这个删除后面的一大堆换行和空格比多次按delete快得多) shift+delete ctrl+L
ctrl+shift+enter 新增一行 这个很常用,光标不管在这一行的哪个位置只要按ctrl+shift+enter 就会在后满新增一行,如果你先按end键再按enter键 你明显慢了一步
ctrl+L 这个和shift+delete一定程度上类似,ctrl+L会清空掉剪贴板的数据,不过我到时养成习惯了 每次都ctrl+L

跳转,各种ctrl+
home end 最常用的,选择一行文字经常用到这两个键。
Ctrl + Home/End 快速跳到文件头尾

Ctrl + -(往前);Ctrl + Shift + - (往后)跳到上一个光标停留的地方
括号移动:Ctrl + {}将光标放在需要匹配的括号然后按这个快捷键,光标会跳转到其相对于那个的括号上去。

各种折叠和展开:在单页面代码比较多的时候很适用,ctrl+m+l 彻底展开,ctrl+m+o比ctrl+m+l要温柔点,ctrl+m+m 折叠或者展开当前的方法或者类。

单页面查找,函数,字段被引用的情况。
ctrl+f3 查找当前选中的对象
ctrl+f 查找
ctrl+shift+↑↓ 当前选中单词在页面上的跳转,这个也常用,为了查看当前这个变量在哪些地方被用到,不必使用ctrl+f,直接选中然后ctrl+shift+↑↓即可

查找代码字段或方法的引用,这个在vs2013中已经自带了,以前也有shift+f12,不过还是resharper的强大,我的快捷键是alt+f7, 还有改名直接是f2,在没有用vs2013的时候这个功能还是很常用的。

代码注释 代码格式化
Ctrl + E + C, Ctrl + K + C 注释选中代码
Ctrl + E+ U, Ctrl + K + U 取消注释的代码
resharper ctrl+/ ctrl+shift+/ 生成这种注释/****/

代码格式化:ctrl+k +f 格式化选中的代码,ctrl+k+d当前文档的代码;resharpr的code cleanup 有只格式化,有既格式化带有又清理没用的using两种选择

更快速的编码:tab建 prop加tab键

智能提示 ctrl+j ctrl+p

ctrl+k+s 插入代码段 最常用的就是插入#region---#endregion

关于调试
f9添加或删除断点,shift+f9 快速监视选中的变量,至于其他的f5 f10 f11 就不说了,条件断点等等那些又是调试的技巧了

还有在reshaper中万能的alt+enter
以下是推荐学习内容:
开发和常用工具推荐清单:http://www.cnblogs.com/JustRun1983/p/3254264.html
Visual Studio 必备神器:http://www.cnblogs.com/stoneniqiu/p/3488546.html
http://channel9.msdn.com/Events/Build/2013/2-546
http://channel9.msdn.com/Events/Build/2013/3-503
Visual Studio快捷键自我小结(大页面)---吐槽不上进的程序员
原文:http://www.cnblogs.com/Bond/p/3560514.html