首页 > 代码库 > quicker+.em SourceInsight 宏加强版制作
quicker+.em SourceInsight 宏加强版制作
这两天苦于新建的文件每次都要手动添加文件头,新建的函数每次都要手动添加函数说明,连.h也要手动生成。于是乎,上网搜了搜,发现了lushengwen写的一个神器:quicker.em
。好家伙,有了这个东东,再也不用繁琐的手工敲咯~~~
具体用法,大伙可以参考:http://blog.csdn.net/ghostyu/article/details/7091915
可是问题来了,我发现下面这个东东:
/****************************************************************************** 版权所有 (C), 2013-2014, 老虎工作室 ****************************************************************************** 文 件 名 : stack_heap_thread_process_2.c 版 本 号 : 初稿 作 者 : TigerXiao 生成日期 : 2014年6月25日 最近修改 : 功能描述 : 这里只是对这个文件的描述 函数列表 : CheckThreadExist CheckThreadStatus main StringToUpper thread_start 修改历史 : 1.日 期 : 2014年6月25日 作 者 : TigerXiao 修改内容 : 创建文件******************************************************************************/
上面的copyright和company必须是写死的,如果换一个的话,还需要重新修改文件,这个还是有点让我不太爽。特别是当我新添加一个函数时,这个是不会自动添加进去的,
当然这个函数列表功能我也 不咋用。
哪里有抱怨,哪里就有商机。于是,我想着改改代码,看看能否搞个变量什么的来实现我的想法:(抛砖引玉,看客勿喷)
macro ConfigureSystem(){ szLanguage = ASK("Please select language: 0 Chinese ,1 English"); if(szLanguage == "#") { SetReg ("LANGUAGE", "0") } else { SetReg ("LANGUAGE", szLanguage) } szName = ASK("Please input your name"); if(szName == "#") { SetReg ("MYNAME", "TigerXiao") } else { SetReg ("MYNAME", szName) } szCompany = ASK("Please input your company"); if(szCompany == "#") { SetReg("MYCOMPANY","TigerXiao") } else { SetReg("MYCOMPANY",szCompany) } szCopyright = ASK("Please input your Copyright "); if(szCopyright == "#") { SetReg("MYCOPYRIGHT","2001-2014") } else { SetReg("MYCOPYRIGHT",szCopyright) } }
在上面我修改了其中一个很重要的宏定义,添加了两个变量,同时保存下来,然后呢?大伙都是搞代码的,就不多说了,显然就是引用这些变量的啦。
/*取得公司名*/ szCompany = getreg(MYCOMPANY) if(strlen( MYCOMPANY ) == 0) { szCompany = Ask("Enter your name:") setreg(MYCOMPANY, szCompany) } /*取得版权*/ szCopyright = getreg(MYCOPYRIGHT) if(strlen( MYCOPYRIGHT ) == 0) { szCopyright = Ask("Enter your name:") setreg(MYCOPYRIGHT, szCopyright) } GetFunctionList(hbuf,hnewbuf) InsBufLine(hbuf, ln + 0, "/******************************************************************************") InsBufLine(hbuf, ln + 1, "") InsBufLine(hbuf, ln + 2, " 版权所有 (C), @szCopyright@, @szCompany@") InsBufLine(hbuf, ln + 3, "") InsBufLine(hbuf, ln + 4, " ******************************************************************************") sz = GetFileName(GetBufName (hbuf)) InsBufLine(hbuf, ln + 5, " 文 件 名 : @sz@") InsBufLine(hbuf, ln + 6, " 版 本 号 : 初稿") InsBufLine(hbuf, ln + 7, " 作 者 : @szName@") SysTime = GetSysTime(1) szTime = SysTime.Date InsBufLine(hbuf, ln + 8, " 生成日期 : @szTime@") InsBufLine(hbuf, ln + 9, " 最近修改 :") iLen = strlen (szContent) nlnDesc = ln szTmp = " 功能描述 : " InsBufLine(hbuf, ln + 10, " 功能描述 : @szContent@") InsBufLine(hbuf, ln + 11, " 函数列表 :")
上面是中文的修改部分,英文的话是一样子的,无需赘言。这个小修改很简单的,却很好的完成了我的一个小想法,效果如下:
选择语言:
输入作者
输入公司
输入版权
然后执行fi后,可以看到文件头啦:
当然先要有个说明
其实做这个的目的主要是抛砖引玉,让大家一起为这个宏添加一些新的功能,完善一些新的功能,特别是对于我们这些搞C/C++开发的。
PS: 后续的,C的开发没有库函数(linux 下的libc等)自动补全功能着实蛋疼,有机会看看能不能自己搞一个。
差点忘了,修改的加强版(姑且这样叫吧。。。)我放到网上了,大伙可以参考:http://download.csdn.net/detail/xiaowh001/7549079