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