如何利用 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开发工具,有一款优秀的 ...
随机推荐
- Ubuntu下使用nvm
写在前面:刚写着写着博客就跨年了,希望新的一年大家万事如意,一切向"前"看! 安装 wget -qO- https://raw.githubusercontent.com/crea ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- ASP.NET Core中如影随形的”依赖注入”[上]: 从两个不同的ServiceProvider说起
我们一致在说 ASP.NET Core广泛地使用到了依赖注入,通过前面两个系列的介绍,相信读者朋友已经体会到了这一点.由于前面两章已经涵盖了依赖注入在管道构建过程中以及管道在处理请求过程的应用,但是内 ...
- nginx源码分析之模块初始化
在nginx启动过程中,模块的初始化是整个启动过程中的重要部分,而且了解了模块初始化的过程对应后面具体分析各个模块会有事半功倍的效果.在我看来,分析源码来了解模块的初始化是最直接不过的了,所以下面主要 ...
- 在开启DRS的集群中修复VMware虚拟主机启动问题
通过iSCSI方式连接到ESXi主机上的外挂存储意外失联了一段时间,导致部分虚拟主机在集群中呈现出孤立的状态,单独登陆到每台ESXi上可以看到这些虚拟主机都变成了unknow状态.因为有过上一次(VM ...
- bcp 命令实例
set sql_flow="select Id,',',ApplierName,',',FlowStatus,',',IsApproved,',',CreateTime from *** w ...
- Flexible 弹性盒子模型之CSS flex-shrink 属性
实例 让第二个元素收缩到其他元素的三分之一: 效果预览 div:nth-of-type(2){flex-shrink:3;} 浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟在 - ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- SqlServer之数据库三大范式
分析: 数据库设计应遵循三大范式分别为: 第一范式:确保表中每列的原子性(不可拆分): 第二范式:确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依 ...
- 分享一个MySQL分库分表备份脚本(原)
分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...