我的函数注释:
//################################################################
// 文件名 : $FILE_PATH$\$FILE_BASE$.$FILE_EXT$
// 创建时间 : $YEAR$/$MONTH$/$DAY$ $HOUR$:$MINUTE$
// 作者 : Sam
// 函数功能 : $end$
// 函数参数 : $end$
// 函数返回值 : $end$
//################################################################
首先,先上效果代码
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;
}
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 %d
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 %d
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 %d
12 $YEAR_02$ Year formatted as %02d
13Time $HOUR$ Hour formatted as %d
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
$SymbolVirtual$ Keyword virtual or blank
55
56
另外,参考官方网站学习更多。。
最后的最后是系统环境常用的变量(也许有用):