VAssistX的VA Snippet Editor

代碼有點排不齊,是因爲粘貼的原因,忘見諒。另外,這是我第一篇文章,希望大家鼓勵。謝謝!

首先,先上效果代碼

 1//********************************************************************
 2//    TESTCLASS.H    文件註釋
 3//    文件名  :    TESTCLASS.H
 4//    文件路徑:    J:/CODING/TEST/C++解疑/CYUYAN/
 5//    作者    :    RIPPLE
 6//    創建時間:    2009/10/3 11:02
 7//    文件描述:    
 8//*********************************************************************
 9#ifndef _H_TESTCLASS_H_
10#define _H_TESTCLASS_H_
11
12#include <iostream>
13using namespace std;
14
15namespace ripple
16{
17    //********************************************************************
18    //    CHello    類註釋
19    //    類名    :    CHello
20    //  基類名稱:    NULL
21    //  命名空間:    ripple
22    //    作者    :    RIPPLE
23    //    創建時間:    2009/10/3 11:16
24    //    類描述  :    說Hello
25    //*********************************************************************
26    
27    class CHello
28    {
29    public:
30        void SayHello(void)
31        {
32            cout<<"hello"<<endl;
33        }

34    private:
35
36    }
;
37
38    //********************************************************************
39    //    CHelloWorld    類註釋
40    //    類名    :    CHelloWorld
41    //  基類名稱:    CHello
42    //  命名空間:    ripple
43    //    作者    :    RIPPLE
44    //    創建時間:    2009/10/3 11:16
45    //    類描述  :    說HelloWorld
46    //*********************************************************************
47    
48    class CHelloWorld : public CHello
49    {
50    public:
51        void SayHello()
52        {
53            cout<<"hello world"<<endl;
54        }

55    private:
56    
57    }
;
58    
59}

60#endif
61

接着,放出測試代碼

 1//********************************************************************
 2//    C.CPP    文件註釋
 3//    文件名  :    C.CPP
 4//    文件路徑:    J:/CODING/TEST/C++解疑/CYUYAN/
 5//    作者    :    RIPPLE
 6//    創建時間:    2009/10/3 12:49
 7//    文件描述:    
 8//*********************************************************************
 9
10#include "testclass.h"
11using namespace ripple;
12int main()
13{
14    CHello p;
15    p.SayHello();
16    CHelloWorld pp;
17    pp.SayHello();
18    system("pause");
19}

那些註釋。都是事先在VAssistX中,通過宏寫的。接下來放出各個關鍵宏的代碼
首先是 文件級的註釋
fileinfo:
快捷鍵自己設定:(本人用fileinfo作爲快捷鍵)
先別管這些宏什麼意思,最後我會貼出所有宏的解釋,相信,那是,你也可以編寫出符合自己編程習慣的宏代碼

1//********************************************************************
2//    $FILE_BASE_UPPER$.$FILE_EXT_UPPER$    文件註釋
3//    文件名  :    $FILE_BASE_UPPER$.$FILE_EXT_UPPER$
4//    文件路徑:    $FILE_PATH_UPPER$/
5//    作者    :    %USERNAME%
6//    創建時間:    $YEAR$/$MONTH$/$DAY$ $HOUR$:$MINUTE$
7//    文件描述:    $end$
8//*********************************************************************
9

接着,防止頭文件被多次包含(選取)(PS:這有兩種情況,一種是這種,用鼠標選擇後 右鍵選擇Sourround With (VA X),選擇你事先設置好的名稱即可,
這裏我設爲防止頭文件被多次包含(選取)。
宏代碼敬上:

1#ifndef _H_$FILE_BASE_UPPER$_H_
2#define _H_$FILE_BASE_UPPER$_H_
3
4$selected$
5
6#endif

注意文中的selected宏,那表示選中的文字將被 #ifndef ... #endif包圍
最後再展示下類註釋的宏編寫。
注意:VA Snippet Editor不僅支持自己的宏,還支持系統環境變量,注意下面的%USERNAME%就是個例子(表示系統現在使用的用戶名)

 1//********************************************************************
 2//    $ClassName$    類註釋
 3//    類名    :    $ClassName$
 4//  基類名稱:    $BaseClassName$NULL
 5//  命名空間:    ripple
 6//    作者    :    %USERNAME%
 7//    創建時間:    $YEAR$/$MONTH$/$DAY$ $HOUR$:$MINUTE$
 8//    類描述  :    $end$
 9//*********************************************************************
10
11

好了,寫了幾個常用的宏代碼了,大家應該對這有點感覺了吧。
安裝軟件的方法就不多說了。網上很多。
接下交大家如何打開VA Snippet Editor
方法有幾種,第一種,也是個人比較喜歡的方式,在IDE的文本編輯區輸入 //-然後會彈出[Edit]菜單,點擊這個菜單即可進入編輯。當然也可以添加刪除拷貝等操作。
第二種是,在IDE主菜單中,依次選擇VAssisstX->Visual AssistX Options->Advanced->Sugesstions,單擊右邊的Edit VA Snippet,即可進入編輯。
最後,獻上所有VS Snippet Editor的宏

 1Date
 2 $DATE$ Year/month/day formatted as %04d/%02d/%02d 
 3 $DAY$ Day of month formatted as %
 4 $DAY_02$ Day of month formatted as %02d 
 5 $DAYNAME$ Three-character abbreviation of day 
 6 $DAYLONGNAME$ Full name of day 
 7 $MONTH$ Month formatted as %
 8 $MONTH_02$ Month formatted as %02d 
 9 $MONTHNAME$ Three-character abbreviation of month 
10 $MONTHLONGNAME$ Full name of month 
11 $YEAR$ Year formatted as %
12 $YEAR_02$ Year formatted as %02d 
13Time $HOUR$ Hour formatted as %
14 $HOUR_02$ Hour formatted as %02d 
15 $MINUTE$ Minute formatted as %02d 
16 $SECOND$ Second formatted as %02d 
17File 
18 $FILE$ Full filename with path* 
19 $FILE_UPPER$ Full filename with path in uppercase* 
20 $FILE_BASE$ Filename without path or extension* 
21 $FILE_BASE_UPPER$ Filename without path or extension in upper case* 
22 $FILE_EXT$ Filename extension* 
23 $FILE_EXT_UPPER$ Filename extension in upper case* 
24 $FILE_PATH$ Path of file* 
25 $FILE_PATH_UPPER$ Path of file in upper case* 
26General 
27 $clipboard$ Current clipboard 
28 $end$ Position of caret after expansion 
29 $selected$ Current selection** 
30 $$ Literal '$' character 
31Symbol Context 
32 $MethodName$ Name of containing method 
33 $MethodArgs$ Method parameters 
34 $ClassName$ Name of containing class 
35 $BaseClassName$ Name of base class of containing class 
36 $NamespaceName$ Name of innermost containing namespace 
37GUID 
38 $GUID_DEFINITION$ Generated GUID formatted for use in a definition 
39 $GUID_STRING$ Generated GUID formatted for use in a string 
40 $GUID_STRUCT$ Generated GUID formatted for use in a struct 
41 Refactor 
42 $GeneratedPropertyName$ Property name generated during Encapsulate Field 
43 $MethodArg$ One parameter of the method and its type 
44 $MethodArgName$ One parameter of the method 
45 $MethodArgType$ Type of one parameter of the method 
46 $MethodBody$ Body of implementation 
47 $MethodQualifier$ Optional qualifiers of method 
48 $ParameterList$ Parameters separated by commas 
49 $SymbolContext$ Context and name of method 
50 $SymbolName$ Name of method 
51 $SymbolPrivileges$ Access of method 
52 $SymbolStatic$ Keyword static or blank 
53 $SymbolType$ Return type of method 
54 $SymbolVirtual$ Keyword virtual or blank 
55
56

另外,參考官方網站http://www.wholetomato.com/products/features/vasnippets.asp學習更多。。
最後的最後是系統環境常用的變量(也許有用):

WINDOWS系統變量
ALLUSERSPROFILE=H:/Documents and Settings/All Users        //所有用戶的PROFILE路徑
APPDATA=H:/Documents and Settings/Administrator/Application Data        //當前用戶的應用程序路徑
ClusterLog=H:/WINDOWS/Cluster/cluster.log        //集羣日誌路徑
CommonProgramFiles=H:/Program Files/Common Files        //應用程序公用的文件路徑
COMPUTERNAME=E2003        //計算機名稱
ComSpec=H:/WINDOWS/system32/cmd.exe        //當前的命令解釋器
HOMEDRIVE=H:         //當前用戶的主盤
HOMEPATH=/Documents and Settings/Administrator        //當前用戶的主目錄
LOGONSERVER=/E2003        //登錄的服務器
NUMBER_O_PROCESSORS=1        //當前計算機的處理器數字
OS=Windows_NT        //當前系統的內核
Path=H:/Program Files/Support Tools/;H:/WINDOWS/system32;        //學過DOS的都知道
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH        //以前DOS下默認的是COM,EXE,BAT,現在已經有這麼多了喲,以前都不知道,腳本都可以不打擴展名了
PROCESSOR_ARCHITECTURE=x86        //處理器架構
PROCESSOR_IDENTIFIER=x86 Family 15 Model 1 Stepping 3, GenuineIntel        //處理器標識符
PROCESSOR_LEVEL=15        //沒注意過,不知道有什麼用
PROCESSOR_REVISION=0103        //版本?
ProgramFiles=H:/Program Files        //應用程序的默認安裝目錄
PROMPT=$P$G        //學過DOS的都知道
SESSIONNAME=Console        //會話名稱?
SystemDrive=H:    //系統所在的盤符
SystemRoot=H:/WINDOWS        //系統所在的目錄
TEMP=H:/DOCUME~1/ADMINI~1/LOCALS~1/Temp         //當前用戶的臨時目錄
TMP=H:/DOCUME~1/ADMINI~1/LOCALS~1/Temp          //同上
USERDNSDOMAIN=MCSE.COM        //當前用戶所在的域的DNS表示
USERDOMAIN=MCSE        //NETBIOS表示
USERNAME=administrator        //當前用戶名
USERPROFILE=H:/Documents and Settings/Administrator        //當前用戶的配置文件目錄
windir=H:/WINDOWS        //windows所在的目錄,總是跟systemroot一樣 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章