工欲善其事,必先利其器,作为一个优秀的程序员很重要的一点就是要善用工具。最近专注于工具开发的我,最近觉得工具的使用,站在巨人的肩膀上进行劳作,而不是不断的造轮子,是非常重要的。

时间最贵,因为对于每个人都是无法再生的资源就是时间了。

vs是常用的工具,每次我们不厌其烦的手工操作,有时候只是一个小技巧便能简化很多工作。其他工具也一样。这里我记一下自己用到的小技巧,以后不断补充添加,以供自己和他人之需。

1.  显示行号:

  Tools-> Options ->Text Editor ->All Languages ->Display->Line Numbers

2.  定位行号:

  Ctrl + G

3.  debug 的console 框不关闭

  使用start without debugging (Ctrl + F5).  或者在退出的代码后加上 Console.ReadLine();  Console.ReadKey();  表示等待用户输入数据

4. 打开IDE导航,获得鸟瞰视图

  Ctrl + Tab

5.  创建矩形选区,选择代码

  ALT + 拖动鼠标

  Shift + ALT + 拖动鼠标

6.  隐藏或显示当前代码段

  Ctrl + M,  M(需要按两次M)

7.  快速生成解决方案

  Ctrl + Shift +B

8.  快速插入代码段

  输入prop 后双击tab,既可以生成下面代码:

  public int MyProperty{ get; set; }

  输入try,  class,  foreach 等等, 按两次tab也会自动添加代码段

9.  手动打开智能提示:

  Ctrl + J;  Alt + ->(右箭头)

10. 调用参数信息提示:

  这个很有用,调用一个接口时,未必都要去查library, 这个方法能够提供接口的参数信息,  鼠标放在参数名上,然后输入 Ctrl + Shift+ 空格

11. 怎样查看代码的详细定义:

  这个也很常用,  view -> code defenition window.  然后就会弹出 代码定义窗口,鼠标选中的方法的定义会在该window中显示

12.  快速添加using    

  对于引用了dll,但代码中没有引用其命名空间的类,输入类名后在类名上按 Ctrl+.(ctrl 和 点号)     即可自动添加该类的引用命名空间语句。

13.  快速copy, paste, delete 一行

  不需要选中该行,只需要鼠标定位在这行就可以。  使用 ctrl + c 复制, ctrl +v 黏贴, ctrl +x 删除一行。

14.  快速找到函数定义: F12,  Ctrl+Shift+减号

15.  回到函数的调用出: ctrl + 减号

16.  在鼠标所在行的前面添加一行: ctrl +shift+enter

   在鼠标所在行的后面添加一行: ctrl + enter

17.  增量查找,类似ultraedit里的用法。  这个查找很神奇:

  ctrl + I  开始使用 增量查找;

  随后输入带查找的字符串: 如 filename  , Ctrl +I,即可开始查找, 并且会自动向下定位。

  如果向上查找,使用Ctrl +Shift + I.

vs技巧总结的更多相关文章

  1. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  2. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  3. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  4. 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

    如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...

  5. 15个关于Chrome的开发必备小技巧[译]

    谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...

  6. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  7. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  8. Function.prototype.toString 的使用技巧

    Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...

  9. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  10. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

随机推荐

  1. C语言 · 递归倒置字符数组

    算法提高 递归倒置字符数组   时间限制:1.0s   内存限制:512.0MB      问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则, ...

  2. #pragma alloc_text

    #pragma alloc_text 编译时控制分页能力 有时,驱动程序的某些部分必须驻留内存而另一些可以被分页,这就需要一种能控制代码和数据是否分页的方法.通过指导编译器的段分配可以实现这个目的.在 ...

  3. 分布式session实现

    1.为什么要做分布式session 前段时间在做hibernate和docker集成时,在web项目落地时遭遇session粘性的困扰,同一个用户的申请落到不同服务端时,会发生session丢失的问题 ...

  4. Nginx优化(十七)

    [教程主题]:Nginx优化 [课程录制]: 创E [主要内容] Nginx 优化 nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是 ...

  5. js 窗口抖动

    <title>窗口抖动</title> <style> body{margin:50px; } #qq{position:relative;} span{paddi ...

  6. IIS7.5 中启用rest服务,Delete、Put

    WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在I ...

  7. w3svc无法启动

    w3svc无法启动 运行命令regedit,打开注册表编辑器,进入:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP]: a) Cha ...

  8. Git 生命周期

    在本章中,我们将讨论的Git的生命周期.在后面的章节中,我们将看到的Git命令为每个操作. 一般工作流程是这样的: 克隆Git仓库作为工作副本. 可以添加/编辑文件,修改工作副本. 如果有必要,你还服 ...

  9. SpringBoot的文件下载

    SpringBoot的文件下载 2017年11月29日 10:32:20 阅读数:3907 SpringBoot的文件下载方法有很多,此处只记录使用Spring的Resource实现类FileSyst ...

  10. 将url参数转为json对象

    /** * 将url参数转为json对象 * * @param str * @returns {{}} */ function parseQueryString(str){ arr = [], len ...