您的位置:首页 > 其它

Source Insight中通过编辑宏实现对函数头和文件头的自动添加

2014-03-06 22:00 323 查看
一、

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...”后弹出对话框,此时直接输入快捷键即可,若输入的快捷键与已有的冲突会提示你是否覆盖原有,一般不覆盖。





 

三、

至此,设置完成,在自己的工程里测试即可。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐