如何利用 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开发工具,有一款优秀的 ...
随机推荐
- 【.net 深呼吸】序列化中的“引用保留”
假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(上)
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- WPF做12306验证码点击效果
一.效果 和12306是一样的,运行一张图上点击多个位置,横线以上和左边框还有有边框位置不允许点击,点击按钮输出坐标集合,也就是12306登陆的时候,需要向后台传递的参数. 二.实现思路 1.获取验证 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(72)-微信公众平台开发-消息处理
系列目录 前言 Senparc.Weixin.MP SDK提供了MessageHandler消息处理类 在作者的Wiki中也详细说明了如何定义这个类,下面我们来演示,消息的回复,及效果 了解Messa ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
- C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1)
一看这个标题,是不去取名有点绕呢?或者是,还有些问题?报告LZ...你的标题取得有问题,是个病句!↖(^ω^)↗!!!先不要急,其实我今天带给大家的就是CoreCLR中的coreclr.其中它是在名字 ...
- C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决
返回目录 关于死锁的原因 理解该死锁的原因在于理解await 处理contexts的方式,默认的,当一个未完成的Task 被await的时候,当前的上下文将在该Task完成的时候重新获得并继续执行剩余 ...
- Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...
- .net core和angular2之前端篇—1
2016-10-20更新 今天的这篇文章还是一篇"Hello World",只不过开发环境有所改变--Visual Studio Code+Angular2+Webapck,也算是 ...