2016-10-17: source insight插件
使用快捷键注释,单行注释,多行注释,#if 0注释
将文件 mycomment.em点此下载放到sourceinsight的Base工程的路径下(一般是在C:\Documents and Settings\Administrator\My Documents\Source Insight\Projects\Base),当然推荐存放到该目录下,一般em文件是sourceinsight的宏语言文件,宏语言是 sourceinsight定义的一种语言,语法与C语言类似,sourceinsight提供了很多函数可供调用,以实现一些自定义的功能。em文件可以放到任意位置,不一定要放在souceinsight的工程目录下。
在souceinsight中选择菜单 Project ->Open Project 弹出对话框如下,选择打开Base工程:
再打开的Base工程的界面中,选择Project Window窗口下面的添加工程文件按钮,将mycomment.em文件添加到该Base工程中:
选择菜单Options-> Key Assignments... 为宏添加一个快捷键:
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上有一个*号。
宏块注释的效果如下图:
多行注释的效果如下图:
跳转到当前文件所在的文件夹,并高亮选择
我们使用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中有注释说明。
上述方案针对本人设置有问题,使用如下方案:
Options =》 Custom Commands... =》 Add :起一个名称
Run:输入命令ShellExecute open %d,注意前面没有空格(或者:ShellExecute open explorer /e,/select,%f,打开目录并选中当前文件)
Keys...:添加对应的快捷键,注意不要和现有的冲突
使用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块等,请百度搜索相关资料
多选项卡插件
如果你希望在sourceinsight中像别的编辑器一样为每个文件生成一个选项卡页面,你可以试试这个插件TabSiPlus,该插件需要安装。解压之后先运行VC_x86Runtime.exe ,之后直接运行TabSiHost.exe ,此时你的sourceinsight窗口自动出现下面的选项卡图:
双击选项卡可以关闭某一个文件,在选项卡的左边点击下拉箭头,可以对该插件设置,或者关闭该插件:
2016-10-17: source insight插件的更多相关文章
- Source Insight 插件
一提到外挂程序,大家肯定都不陌生,QQ就有很多个版本的去广告外挂,很多游戏也有用于扩展功能或者作弊的工具,其中很多也是以外挂的形式提供的.外挂和插件的区别在于插件通常依赖于程序的支持,如果程序不支持插 ...
- source insight插件
直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直 使用该工具做C/C++开发,sourceinsight能够满足 ...
- 从零开始HTML(一 2016/10/17)
就是准备跟着霹雳猿教程过一遍HTML啦,边看边记录更便于理解记忆吧~ 1.属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息.属性总是以名称/值对的形式出现,比如:name= ...
- 2016.10.17 yaml文件里的labels和Pod、RC、Service的对应关系
在看kubernetes的例子时,出现了一个疑问. Pod.RC.Service的yaml文件里,都出现了labels,还有labelSelector.有些不太清楚,因此就这点来学习下. 接上文: ...
- Source Insight及常用插件
Source Insight及常用插件 1.Source Insight 2.插件 <1>.使用快捷键注释,单行注释,多行注释,#if 0注释 <2>.跳转到当前文件所在的文件 ...
- My latest news (--2016.10)
2016.10.31 22:44 一个“程序”,打代码占40%.思考占60% 2016.10.30 20:53 周末,话说今天有晚上讲座,还点名,了,悲催.之前学习的Qt有点问题,悲催.推荐个博文:h ...
- Source Insight 3.X 标签插件v1.0发布
Source Insight可以说是一款程序员必备的开发/阅读源码工具,美中不足的是SI没有标签栏,多个源码之间切换很不方便,于是我就乘闲暇之余写了该作品sihook:标签插件;不过严格意义上来说si ...
- Source Insight 3.X utf8支持插件震撼发布
继上次SI多标签插件之后,因为公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件. 下载地址:[点我] 安装说明: 解压msimg32.dll sihoo ...
- Source Insight 多标签插件
Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees.Source Insig ...
随机推荐
- 2016HUAS_ACM暑假集训4K - 基础DP
我不知道怎么用DP,不过DFS挺好用.DFS思路很明显,搜索.记录,如果刚好找到总价值的一半就说明搜索成功. 题目大意:每组6个数,分别表示价值1到6的物品个数.现在问你能不能根据价值均分. Samp ...
- JS自动格式化输入的数字/千位分隔符
<script> function cc(s){ if(/[^0-9\.]/.test(s)) return "invalid value"; ...
- 【java规则引擎】之Drools之Rete算法
一:规则引擎--->规则引擎的核心是Pattern Matcher(模式匹配器).不管是正向推理还是反向推理,首先要解决一个模式匹配的问题.--->对于规则的模式匹配,可以定义为: 一个规 ...
- tp根据数据库动态创建微信菜单
喻可伟的博客 tp根据数据库动态创建微信菜单 $button = array();$class = M('ucenter_menu')->limit(3)->select();//取出 ...
- 查看Visual Studio异常内容
If Entity Framework throws a validation exception when saving, Visual Studio reports the message, Va ...
- Linux--02软件安装、防火墙设置
防火墙设置: With RHEL / CentOS , firewalld was introduced to manage iptables. IMHO, firewalld is more sui ...
- 【solr】之solr界面查询返回距离并排序
使用solr界面查询 {!geofilt}距离函数 star:[4 TO 5]星级排序 geodist() desc 距离排序 pt :31.221717,121.580891 sfield:loca ...
- MySQL服务 - 客户端工具mysql及mysqladmin使用介绍
mysql客户端: mysql工具是MySQL官方提供的连接工具,用户可以通过mysql连接到mysqld上进行一系列的SQL操作.mysql工具有两种模式:交互模式和命令行模式.交互模式指令需要连接 ...
- LINUX 下Open cv练习使用小记(1)
首先肯定离不开选一张自己喜欢的图像来显示 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp ...
- vs2012 发布网站时,发布目录为空
当我使用Release Any CPU时为空 使用Release X86就正常发布了 奇怪. 之后再切换回 Release Any CPU时正常发布. 在生成时可以尝试设置好生成配置,先生成,再发布.