如何利用 Visual Studio 自带工具提高开发效率
Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢?
显示行号
有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位。
如何显示
1. 工具 / 选项 / 文本编辑器 -> 选择对应的语言
2. 勾选 “行号”
避免剪切或复制空白行
有些时候当我们复制了一行数据正打算粘贴到一个空白行的时候,手一抖,V变成了C,结果复制了一条空白行。这会让人很郁闷,当然你可以通过使用 Ctrl + Shift + V 从剪切版中找到之前复制的那一项,但是毕竟这很麻烦。
要避免这种事情发生,你可以通过 Tools / Options / Text Editor / All-languages,然后不要勾选 “Apply Cut or Copy commands to blank lines when there is no selection.” 前面的复选框,就行了。
如果安装了 Productivity Power Tools,并且开启了 Html Copy 这项功能,就会导致上述的设置失效。
使用书签
和平常意义的书签类似,当我们希望在日后某一时刻快速定位到一处代码时使用。比如在项目例会上,你需要演示本周你所做的一些改进,在开会前可以事先在需要演示的几个地方加上书签,这样会议中就可以快速定位到这几处代码,而不需要一个个文件查找。
创建、删除书签 Ctrl + K, Ctrl + K
移动到下一个书签 Ctrl + K, Ctrl + N(ext)
移动到上一个书签 Ctrl + K, Ctrl + P(revious)
动画演示:如何使用书签
当需要定位到某个书签的时候,可以在任意位置使用以上快捷键进行查找,或者通过书签窗口来进行管理。
快速插入已有的代码
在开发了多个项目后,我们可能会积累了一些常用的代码块,这个时候可以将该代码保存到一个位置,这样之后就可以直接使用,而不需要再手工输入。实现这种快速插入代码有两种方式:工具箱、文件。两种方式均可以在不同的Visual Studio实例中使用。
借助工具箱
只需要将可能会重用的代码拖动到工具箱中,就可以在当前 Visual studio 中各个项目中使用。也可以在其它新打开的 Visual Studio 实例中使用。使用的时候将工具箱中的代码拖动到打算放置的位置即可。
动画演示:如何使用工具箱来插入代码
借助文件
先将代码段保存到单独的文件,例如reusable.cs。然后选择 编辑 / 将文件作为文本插入。
使用任务注释跟踪任务
在开发一个大型项目的时候,会有多个迭代周期,不同的迭代周期实现不同的功能。因此在某个迭代周期中的代码,很有可能会看到许多 //TODO、//FIXME 这类的注释。当我们进入下一个迭代的时候,如何快速找到这些特殊的标签并对相关代码进行处理呢? 使用查找? 你OUT了!
使用任务注释
在需要下一个迭代完成的代码上添加 //TODO (大小写无关)。具体格式:// + 任务注释 + : + 注释描述,如下图所示。
管理任务
打开 视图 / 任务列表 就可以查看所有现有的任务。双击某一项任务,就可以快速定位到该任务所在的代码块。
增加自定义任务注释
Visual Studio 提供了我们一个 “任务列表” 来实现此类注释的管理。
使用宏来完成一些烦琐的代码 [不再支持]
在 Visual Studio 2012 之前的版本,当有些效果我们经常会使用但又无法单纯的用一个快捷命令来实现时,就可以通过宏来创建自己的快捷命令。但是 Microsoft 再考虑到自定义宏的维护成本过高而且只支持VB,因此抛弃了对它的支持。
下面的演示只限于 Visual Studio 2012 之前的版本。
通过录制宏来实现一个最简单的功能
1. 打开 工具 / 宏 / 录制宏
2. 在代码编辑器中输入
Console.WriteLine("Hi");
3. 点击停止录制宏
打开 工具 / 宏 / 宏资源管理器,找到 RecordingModule 并展开,双击 TemporaryMacro。这个时候会发现编辑器光标所在的位置已经自动插入了一条 “Console.WriteLine("Hi")” 代码。
动画演示:如何创建一个最简单的宏
本节只演示宏的基本功能,更多关于宏的高级用法,请见《Visual Studio 宏的高级用法》。
注:2014年2月之后,Windows的一次更新将导致 Visual Studio 无法运行 macro,按照该文章的方法修改三个配置文件即可以修复。
自定义工具栏
我们可以通过自定义工具栏的方式把我们想要的功能给放转到工具栏区域。比如当我们自定义了宏后,如何才能以最便捷的方式使用呢? 每次都要通过 Macro Explorer 太麻烦了!
1. 打开 工具 / 自定义 ,新建一个工具栏
2. 切换到 Commands 选项卡,选择 Toolbar,并且在下拉框中选择我们刚创建的 “MyToolBar”。
3. 选择 Add Command...
在跳出来的对话框中选择我们刚创建的宏。
因为默认的名称太长,不够直观,所以我们修改下名称。
4. 添加快捷键
点击 “Keyboard...” 会跳出如下图所示界面,在 Show commands containing 输入框中输入关键字,找到我们创建的宏。然后在下方的 Press shortcut keys 中输入我们想要的快捷键。
5. 大功告成
一切准备工作都做好后,我们首先可以在工具栏中看见我们自己的工具栏。这样以后如果想使用就可以简单的单击来实现同样的功能了。当然,也可以利用我们自定义的快捷键来实现。
本文来源于 《如何利用 Visual Studio 自带工具提高开发效率》
如何利用 Visual Studio 自带工具提高开发效率的更多相关文章
- Eclipse 安装Hibernate Tools 工具 提高开发效率
1.打开Eclipse 开发工具 2.配置使用hibernate Tools 3.选择search 选项卡,搜索 hibernate 关键字 点击Install Next finish ...
- 利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD
利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD 1, 命令提示符-->找到vs自带的xsd.exe工具所在的文件夹 例如: C:\Program Files ...
- 如何利用 Visual Studio 自定义项目或工程模板
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...
- 如何利用 Visual Studio 自定义项目或工程模板(转载)
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...
- Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- 用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境
第一步:安装Visual Studio: Visual Studio 2012(或者Visual Studio 2010),原因是目前为止Xamarin for Visual Studio的插件只支持 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
随机推荐
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- 使用Monit监控本地进程
目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...
- SQLServer事务同步下如何收缩日志
事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...
- 我为NET狂官方面试题-数据库篇答案
题目:http://www.cnblogs.com/dunitian/p/6028838.html 汇总:http://www.cnblogs.com/dunitian/p/5977425.html ...
- ubuntu如何安装nodejs最新版 本
如何正确的安装nodejs? 我们可以先安装nvm, git clone https://github.com/creationix/nvm.git ~/.nvm 然后打开 ~/.bashrc , ...
- spring源码分析之freemarker整合
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...
- python 数据类型 ---文件一
1.文件的操作流程: 打开(open), 操作(read,write), 关闭(close) 下面分别用三种方式打开文件,r,w,a 模式 . "a"模式将不会覆盖原来的文件内容, ...
- 【读书】PHP程序员要读的书目(不断完善中)
本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生 ...
- js数组去重几种思路
在一些后台语言中都内置了一些方法来处理数组或集合中重复的数据.但是js中并没有类似的方法,网上已经有一些方法,但是不够详细.部分代码来源于网络.个人总计如下:大致有4种思路 1)使用两次循环比较原始的 ...
- AlloyTouch实战--60行代码搞定QQ看点资料卡
原文链接:https://github.com/AlloyTeam/AlloyTouch/wiki/kandian 先验货 访问DEMO你也可以点击这里 源代码可以点击这里 如你体验所见,流程的滚动的 ...