Source Insight中通过编辑宏实现对函数头和文件头的自动添加
2014-03-06 22:00
323 查看
一、
Source Insight(SI)中有一个Base工程,是安装完SI后自动生成的一个工程,该工程里只有一个Utils.em文件,该文件是常用编辑宏的一个集合。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/abca2991275b4694051b778f7bb0bc18)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/6a9351609cfedbe6f38bcf7757074898)
通过修改或添加宏就可以让宏实现我们想要在编辑文本时添加的内容。
此处将宏修改如下:
(1)、
macro InsertHeader() //该宏用于打印函数头
{
hwnd = GetCurrentWnd()
lnFirst = GetWndSelLnFirst(hwnd)
hbuf = GetCurrentBuf()
str1 = "/*--------------------------------------------------------------"
str2 = "*Function Name : "
str3 = "*Description : "
str4 = "* : "
str5 = "* : "
str6 = "*Input : "
str7 = "* : "
str8 = "* : "
str9 = "*Output : "
str10 = "* : "
str11 = "* : "
str12 = "*Return : "
str13 = "* : "
str14 = "*/"
InsBufLine(hbuf, lnFirst, str14);
InsBufLine(hbuf, lnFirst, str13);
InsBufLine(hbuf, lnFirst, str12);
InsBufLine(hbuf, lnFirst, str11);
InsBufLine(hbuf, lnFirst, str10);
InsBufLine(hbuf, lnFirst, str9);
InsBufLine(hbuf, lnFirst, str8);
InsBufLine(hbuf, lnFirst, str7);
InsBufLine(hbuf, lnFirst, str6);
InsBufLine(hbuf, lnFirst, str5);
InsBufLine(hbuf, lnFirst, str4);
InsBufLine(hbuf, lnFirst, str3);
InsBufLine(hbuf, lnFirst, str2);
InsBufLine(hbuf, lnFirst, str1);
}
(2)、
macro InsertFileHeader()//该宏用于打印文件头
{
hbuf = GetCurrentBuf()
lnFirst = 0
str1 = "/*=============================================================="
str2 = "*File Name : "
str3 = "*Description : "
str4 = "* : "
str5 = "* : "
str6 = "*Author : "
str7 = "* : "
str8 = "* : "
str9 = "*Version : "
str10 = "* : "
str11 = "* : "
str12 = "*Copyrirht : "
str13 = "* : "
str14 = "==============================================================*/"
InsBufLine(hbuf, lnFirst, str14);
//InsBufLine(hbuf, lnFirst, str13);
InsBufLine(hbuf, lnFirst, str12);
//InsBufLine(hbuf, lnFirst, str11);
//InsBufLine(hbuf, lnFirst, str10);
InsBufLine(hbuf, lnFirst, str9);
//InsBufLine(hbuf, lnFirst, str8);
//InsBufLine(hbuf, lnFirst, str7);
InsBufLine(hbuf, lnFirst, str6);
InsBufLine(hbuf, lnFirst, str5);
InsBufLine(hbuf, lnFirst, str4);
InsBufLine(hbuf, lnFirst, str3);
InsBufLine(hbuf, lnFirst, str2);
InsBufLine(hbuf, lnFirst, str1);
}
然后从“Project”里“Rebuilt Project...”,弹出提示后确定。
二、
重新编译Base工程后,“Options”===》“Menu Assigment...”打开菜单制定器,在command栏里输入m后在列表里选择我们刚才编辑的宏Macro:InsertFileHeader,在Menu栏里选择Work,在Menu Contents栏里选择<end of menu>然后单击Insert按钮就可以把command里的命令添加到Work菜单下了,单击OK退出。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/14d3bb842bd4ae2f842b488ec099a253)
这时在菜单栏里多了Work菜单,下面为其子菜单添加快捷键。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/f57e92f58dd8fa9684a2fb83b71d79b9)
在“Options”===》“Key Assigment...”打开快捷键制定器,同样的在command里选择宏命令Macro:InsertFileHeader,单击“Assign New key...”后弹出对话框,此时直接输入快捷键即可,若输入的快捷键与已有的冲突会提示你是否覆盖原有,一般不覆盖。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/91294e9fed181fd7239b731cfb01cc4e)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201403/06/7a3f7eda89d874797a4644a96302beb3)
三、
至此,设置完成,在自己的工程里测试即可。
Source Insight(SI)中有一个Base工程,是安装完SI后自动生成的一个工程,该工程里只有一个Utils.em文件,该文件是常用编辑宏的一个集合。
通过修改或添加宏就可以让宏实现我们想要在编辑文本时添加的内容。
此处将宏修改如下:
(1)、
macro InsertHeader() //该宏用于打印函数头
{
hwnd = GetCurrentWnd()
lnFirst = GetWndSelLnFirst(hwnd)
hbuf = GetCurrentBuf()
str1 = "/*--------------------------------------------------------------"
str2 = "*Function Name : "
str3 = "*Description : "
str4 = "* : "
str5 = "* : "
str6 = "*Input : "
str7 = "* : "
str8 = "* : "
str9 = "*Output : "
str10 = "* : "
str11 = "* : "
str12 = "*Return : "
str13 = "* : "
str14 = "*/"
InsBufLine(hbuf, lnFirst, str14);
InsBufLine(hbuf, lnFirst, str13);
InsBufLine(hbuf, lnFirst, str12);
InsBufLine(hbuf, lnFirst, str11);
InsBufLine(hbuf, lnFirst, str10);
InsBufLine(hbuf, lnFirst, str9);
InsBufLine(hbuf, lnFirst, str8);
InsBufLine(hbuf, lnFirst, str7);
InsBufLine(hbuf, lnFirst, str6);
InsBufLine(hbuf, lnFirst, str5);
InsBufLine(hbuf, lnFirst, str4);
InsBufLine(hbuf, lnFirst, str3);
InsBufLine(hbuf, lnFirst, str2);
InsBufLine(hbuf, lnFirst, str1);
}
(2)、
macro InsertFileHeader()//该宏用于打印文件头
{
hbuf = GetCurrentBuf()
lnFirst = 0
str1 = "/*=============================================================="
str2 = "*File Name : "
str3 = "*Description : "
str4 = "* : "
str5 = "* : "
str6 = "*Author : "
str7 = "* : "
str8 = "* : "
str9 = "*Version : "
str10 = "* : "
str11 = "* : "
str12 = "*Copyrirht : "
str13 = "* : "
str14 = "==============================================================*/"
InsBufLine(hbuf, lnFirst, str14);
//InsBufLine(hbuf, lnFirst, str13);
InsBufLine(hbuf, lnFirst, str12);
//InsBufLine(hbuf, lnFirst, str11);
//InsBufLine(hbuf, lnFirst, str10);
InsBufLine(hbuf, lnFirst, str9);
//InsBufLine(hbuf, lnFirst, str8);
//InsBufLine(hbuf, lnFirst, str7);
InsBufLine(hbuf, lnFirst, str6);
InsBufLine(hbuf, lnFirst, str5);
InsBufLine(hbuf, lnFirst, str4);
InsBufLine(hbuf, lnFirst, str3);
InsBufLine(hbuf, lnFirst, str2);
InsBufLine(hbuf, lnFirst, str1);
}
然后从“Project”里“Rebuilt Project...”,弹出提示后确定。
二、
重新编译Base工程后,“Options”===》“Menu Assigment...”打开菜单制定器,在command栏里输入m后在列表里选择我们刚才编辑的宏Macro:InsertFileHeader,在Menu栏里选择Work,在Menu Contents栏里选择<end of menu>然后单击Insert按钮就可以把command里的命令添加到Work菜单下了,单击OK退出。
这时在菜单栏里多了Work菜单,下面为其子菜单添加快捷键。
在“Options”===》“Key Assigment...”打开快捷键制定器,同样的在command里选择宏命令Macro:InsertFileHeader,单击“Assign New key...”后弹出对话框,此时直接输入快捷键即可,若输入的快捷键与已有的冲突会提示你是否覆盖原有,一般不覆盖。
三、
至此,设置完成,在自己的工程里测试即可。
相关文章推荐
- source insight添加系统库函数头文件,实现库函数的自动补齐
- VC下用宏来实现函数注释的自动添加
- Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
- C#实现为类和函数代码自动添加版权注释信息的方法
- 润乾报表通过JS自带函数来实现自动计算中的四舍五入
- C#实现为类和函数代码自动添加版权注释信息的方法
- Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
- 通过添加HTTP Header实现上下文数据在WCF的自动传递
- Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
- Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
- Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释
- Android 通过蒲公英pgyer的接口 Service 实现带进度下载App 通知栏显示 在线更新 自动更新Demo
- 练习2: 通过交换函数的实现,学习指针的用法。
- 项目——通过自动回复机器人学Mybatis(自己添加ajax代码优化)(三)
- 通过Windows批处理脚本实现FTP的多文件自动上传
- Linux通过脚本实现远程自动备份
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- linux中用C语言实现的自动在文件末尾不断添加记录的完整代码
- 在驱动模块初始化函数中实现设备节点的自动创建