這兩天苦於新建的文件每次都要手動添加文件頭,新建的函數每次都要手動添加函數說明,連.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