很是适用的Sourceinsight插件,提升效率【强力推荐】

转自:http://www.cnblogs.com/heiyue/p/6225975.htmlhtml

一直使用sourceinsight编辑C/C++代码,sourceinsight是一个很是好用的编辑工具能够任意定位,跳转,回退,本人一直 使用该工具作C/C++开发,sourceinsight可以知足个人大部分需求,可是有些功能没有总以为是一个缺憾。本文将补充这些很是好用的功能。

<1>.使用快捷键注释,单行注释,多行注释,#if 0注释
<2>.跳转到当前文件所在的文件夹,并高亮选择
<3>.使用quicker.em插件添加函数注释,文件头注释,标记注释等
<4>.多选项卡插件
函数

 下面分别对如何在sourceinsight中使用上述4个功能进行说明:工具

<1>.使用快捷键注释,单行注释,多行注释,#if 0注释post

 将文件 mycomment.em点此下载 放 到sourceinsight的Base工程的路径下(通常是在C:\Documents and Settings\Administrator\My Documents\Source Insight\Projects\Base,或 C:\Users\kun\Documents\Source Insight\Projects),固然推荐存放到该目录下,通常em文件是sourceinsight的宏语言文件,宏语言是 sourceinsight定义的一种语言,语法与C语言相似,sourceinsight提供了不少函数可供调用,以实现一些自定义的功能。em文件可 以放到任意位置,不必定要放在souceinsight的工程目录下。测试

在souceinsight中选择菜单 Project ->Open Project 弹出对话框以下,选择打开Base工程:ui

 

 再打开的Base工程的界面中,选择Project Window窗口下面的添加工程文件按钮,将mycomment.em文件添加到该Base工程中:google

 

 选择菜单Options-> Key Assignments... 为宏添加一个快捷键:spa

 

mycomment.em文件中定义了3个宏,首先找到宏 Macro: WangQiGuo_MultiLineComment 该宏的功能是当执行以后会将所选择的代码块的每一行前面添加//双斜杠注释,选择这个宏以后,点击按钮Assign New Key ... 为该宏分配一个快捷键,此时会弹出一个对话框,这个时候只须要按键盘上面想要的快捷键就好了,例如我这里使用的是ctrl + / 这个快捷键,该快捷键会被检测到并自动添加到Keystroks窗口中,表示添加成功了,此时点击OK就设置完成了。插件

此时随便找一个简单的文件拖到souceinsight窗口中就能够测试了:命令行

 

选中某一行,直接按ctrl + / 就会自动注释,固然多行也是能够的。

用一样的方法为mycomment.em文件中的另外两个宏 Macro: WangQiGuo_AddMacroComment 与 Macro: WangQiGuo_CommentSelStr 定义快捷键,其中宏Macro: WangQiGuo_AddMacroComment 是将选中的代码先后添加#if 0  与 #endif 注释的。而宏Macro: WangQiGuo_CommentSelStr 是在选中的代码先后添加 /* 和 */ 注释的

为了便于记忆,我为Macro: WangQiGuo_AddMacroComment设置的快捷键是 ctrl + 3 缘由是在大键盘上数字键3上有一个#号,而咱们的注释块#if 0 ,#endif中有#号,而Macro: WangQiGuo_CommentSelStr的快捷键我设置的是 ctrl + 8 缘由是大键盘上的数字键8上有一个*号。

 宏块注释的效果以下图:

 

多行注释的效果以下图:

 

<2>.跳转到当前文件所在的文件夹,并高亮选择

咱们使用sourceinsight的时候是否会有这样的需求:有时候代码不少,我 须要找到sourceinsight中的某个源文件在资源管理器中的位置,可是惋惜的是sourceinsight没有这样的功能,为此我google, 百度了好久都没有一个好的解决方法,而实际上该功能的实现是很是简单的:

将文件 openfolder.em点此下载 添加到sourceinsight的Base工程目录,按照上面的方法,将openfolder.em添加到Base工程中,该文件中有一个宏 Macro: ToExplorerFolder 其功能就是当宏执行的时候在资源管理器中打开sourceinsight中的当前文件所在的文件夹,并高亮选择该源文件,添加快捷键的图以下:

 

我选择的快捷键是ctrl + t

按ctrl + t以后,其执行的效果以下图:

 

自动打开一个资源管理器窗口,并定位到个人文件test.cpp,实际上打开openfolder.em能够看到其实现是很简单的,就是利用 sourceinsight提供的相关函数得到当前文件的绝对路径,而后将该路径传递给命令行的explorer命令,执行该命令就能够 了,explorer的命令能够自行到cmd中试一下,openfolder.em中有注释说明。

 <3>.使用quicker.em插件添加函数注释,文件头注释,标记注释等

quicker.em点此下载 该文件听说是华为的一个员工写的,主要功能是为函数接口添加注释,为文件添加注释,生成头文件,生成标记注释(添加相似这样的注释:/*added by xxx 2014-05-07*/) , 按照一样的方法将该文件添加到Base工程中,该文件中定义了一个主要的宏Macro: AutoExpand 该宏支持不少扩展命令,下面是我为该宏配置的快捷键 ctrl + enter (推荐使用ctrl + enter):

 

该宏下面包含许多子命令,下面介绍经常使用的命令:

1.添加文件头注释:
命令:fi  解释:file

2.添加函数说明注释:
命令:fu  解释: function

3.添加单行注释:
命令:as  解释: add start       (添加以后:/* add by zhangsan, 20140504, Mantis号:d, 缘由: */ )
命令:ms  解释: modify start    (添加以后:/* modify by zhangsan, 20140504, Mantis号:d, 缘由: */ )
命令:ds  解释: delete start    (添加以后:/* delete by zhangsan, 20140504, Mantis号:d, 缘由: */ )

4.添加标记注释:
命令:ab  解释: add begin       (添加以后:/* add begin by zhangsan, 20140504, Mantis号:d 缘由: */)
命令:ae  解释: add end         (添加以后:/* add end by zhangsan, 20140504 */)

命令:mb  解释: modify begin    (添加以后:/* modify begin by zhangsan, 20140504, Mantis号:d 缘由: */)
命令:me  解释: modify end      (添加以后:/* modify end by zhangsan, 20140504 */)

命令:db  解释: delete begin    (添加以后:/* delete begin by zhangsan, 20140504, Mantis号:d 缘由: */)
命令:de  解释: delete end      (添加以后:/* delete end by zhangsan, 20140504 */)

5.配置命令:

命令:co  解释:config (修改相关配置信息)

如何使用呢,觉得整个文件添加注释为例,在源文件的任何地方输入命令 fi 以后直接按ctrl + enter 以下图所示:

 

在弹出的对话框中输入对该文件的描述信息,例如我输入的是“测试文件” , 直接点击OK以后文件变成这样:

 

能够看到在该文件的头部自动生成了一块注释代码其中包含了 文件名,负责人,文件说明,版权说明,生成时间,修改日志等

咱们可使用co命令修改这里的负责人,而且能够指定生成的语言是中文仍是英文,一样在源文件的任何地方输入co以后直接按ctrl + enter 会弹出输入框让咱们修改做者,选择语言,该配置只须要设置一次,以后再使用其余命令只要生成的注释里面包含做者信息的都会使用咱们配置的这个做者名。

这里的版权说明只能本身手工修改代码,打开quicker.em文件,找到macro InsertFileHeaderCN定义就会看到相关版权信息的说明,本身改一下就能够了:

 

 一样若是生成的是英文信息,请修改InsertFileHeaderEN 这个宏里面的相关代码。

 本段只演示了fi命令如何添加文件头的注释信息,其余的命令,例如fu命令添加函数头的注释信息,还有其余的命令添加相关形式的注释信息,请自行 测试,要说明的是quicker.em中的这些命令都是扩展命令,其使用方法都是同样的,在文件的任何地方输入命令以后直接按ctrl + enter 就会出效果。例如添加函数注释的效果以下:

 

直接在函数max前面输入fu命令以后 按ctrl + enter 会提示输入相关的注释信息

下面的3个注释是分别输入as 以后按ctrl +enter ,  输入ms 以后按ctrl + enter , 输入ds以后按ctrl + enter 以后生成的注释效果:

 

有关quicker.em的其余命令请自行测试,另外还有一些没有提到的命令,例如自动生成if块,for语句块,switch块等,请百度搜索相关资料

<4>.多选项卡插件

把源码包中的msimg32.dll和sihook.dll删除,拷贝已经成功的这两个文件就能够实现:

 双击选项卡能够关闭某一个文件,在选项卡的左边点击下拉箭头,能够对该插件设置,或者关闭该插件:

 <5>.全选

在SI中,CTRL + a 这个快捷键被定义的功能不是全选,好像是所有保存功能。你须要本身修改快捷键的定义,在Options->Key Assignments 而后在Command里面输入Save,你就能够看到下面有File: Save All了,鼠标点击一下File: Save All,将Save All 的快捷键CTRL + a删除。而后再到Command里面输入输入 Select All 为其设置快捷键CTRL + a这样CTRL + a就能够完成全选的功能了