程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> quicker+.em SourceInsight 宏加強版制作

quicker+.em SourceInsight 宏加強版制作

編輯:關於C語言

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved