收藏 分享(赏)

vs2008注释宏.doc

上传人:HR专家 文档编号:5974366 上传时间:2019-03-22 格式:DOC 页数:12 大小:55KB
下载 相关 举报
vs2008注释宏.doc_第1页
第1页 / 共12页
vs2008注释宏.doc_第2页
第2页 / 共12页
vs2008注释宏.doc_第3页
第3页 / 共12页
vs2008注释宏.doc_第4页
第4页 / 共12页
vs2008注释宏.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、Imports SystemImports EnvDTEImports EnvDTE80Imports EnvDTE90Imports System.DiagnosticsPublic Module COMMENTFunction StripTabs(ByVal MyStr)Do While InStr(MyStr, vbTab) 0 ThenfcName = Left(Header, Loc)Header = Right(Header, Len(Header) - Len(fcName)Trim(fcName)得到函数名称Do While InStr(fcName, “ “) 0 ThenR

2、etTp = LTrim(Right(RetTp, Len(RetTp) - Len(“virtual“)End If去掉 inlineIf InStr(RetTp, “inline“) 0 ThenRetTp = LTrim(Right(RetTp, Len(RetTp) - Len(“static“)End IfiPrm = 0iPrmA = 0prms = HeaderDo While InStr(prms, “,“) 0 TheniPrm = iPrm + 1iPrmA = iPrmReDim ParamArr(iPrm)Do While InStr(Header, “,“) 0 Th

3、enParamArr(iPrm) = Right(ParamArr(iPrm), _Len(ParamArr(iPrm) - InStr(ParamArr(iPrm), “ (“)Trim(ParamArr(iPrm)End IfHeader = Right(Header, Len(Header) - InStr(Header, “,“)iPrm = iPrm - 1LoopParamArr(iPrm) = HeaderIf InStr(ParamArr(iPrm), “)“) 1 ThenParamArr(1) = Left(ParamArr(1), InStr(ParamArr(1), “

4、)“) - 1)Trim(ParamArr(1)iPrmA = 1If ParamArr(1) = “void“ TheniPrmA = 0End IfEnd IfEnd IfIf ActiveDocument.Selection.CurrentLine 0 ThenActiveDocument.Selection.text = “* brief “ + fcName + “ “Else为构造函数If InStr(fcName, “) 0If InStr(ParamArr(iPrmA), vbLf) 1 ThenParamArr(iPrmA) = Right(ParamArr(iPrmA),

5、Len(ParamArr(iPrmA) - 1)End IfActiveDocument.Selection.NewLine()首先判断参数列表中有没有=号,如果有,则等号左边为参数名,右边为默认值。Dim defautValueIf InStr(ParamArr(iPrmA), “=“) 0defautValue = Right(defautValue, Len(defautValue) - InStr(defautValue, “ “)LoopDo While InStr(ParamArr(iPrmA), “ “) 0 ThenActiveDocument.Selection.text =

6、 “* paramin “ + LTrim(ParamArr(iPrmA) + “ Defaults to “ + Trim(defautValue) + “.“ElseActiveDocument.Selection.text = “* paramin “ + LTrim(ParamArr(iPrmA) + “ “End IfiPrmA = iPrmA - 1LoopActiveDocument.Selection.NewLine()If Len(Trim(RetTp) 0 And Trim(RetTp) 1 ThenActiveDocument.Selection.GoToLine(Act

7、iveDocument.Selection.CurrentLine - 1)ActiveDocument.Selection.MoveTo(ActiveDocument.Selection.CurrentLine, 0)ActiveDocument.Selection.EndOfLine()ActiveDocument.Selection.NewLine()End IfActiveDocument.Selection.text = “/*“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* file “ +

8、ActiveDocument.NameActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* brief “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* author *“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* date “ActiveDocument.Selection.text = DateTime.Today + “ “

9、 + TimeOfDayActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* version “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* copyright: “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* email: *“ActiveDocument.Selection.NewLine()ActiveDocument.Se

10、lection.text = “* company: http:/“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* All rights reserved.“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* modification:“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* Write modifications here

11、.“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “*/“If InStr(ActiveDocument.Name, “.“) 0 ThenIf Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“) = “h“ _Or Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“) =

12、“hpp“ _Or Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“) = “hh“ ThenDim defdef = “_“ + UCase(Left(ActiveDocument.Name, InStr(ActiveDocument.Name, “.“) - 1) _+ “_“ + Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“)ActiveDocum

13、ent.Selection.NewLine()ActiveDocument.Selection.text = “#ifndef “ + defActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “#define “ + defActiveDocument.Selection.NewLine()ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “#endif “ActiveDocument.Selection.NewLine()End

14、IfIf Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“) = “c“ _Or Right(ActiveDocument.Name, Len(ActiveDocument.Name) - InStr(ActiveDocument.Name, “.“) = “cpp“ ThenDim defdef = “#include “ + Chr(34) + Left(ActiveDocument.Name, InStr(ActiveDocument.Name, “.“) + “h“

15、+ Chr(34)ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = defActiveDocument.Selection.NewLine()End IfEnd IfEnd Sub生成 doxygen样式的项目编号描述Public Sub ItemDescription()ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “/*“ActiveDocument.Selection.NewLine()ActiveDocument.Sel

16、ection.text = “* “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* - “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* -# “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* -# “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text

17、= “* - “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* -# “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* -# “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “*/“End Sub生成 doxygen样式模块描述Sub ModuleDescription()ActiveDocument.Selection.NewLi

18、ne()ActiveDocument.Selection.text = “/*“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* defgroup “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* brief “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* “ActiveDocument.Selection.NewLine()A

19、ctiveDocument.Selection.text = “* Detailed description.“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “*/“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “/*

20、*/ “End Sub生成 doxygen样式类描述Sub ClassDescription()Dim classNameDim StartLineclassName = ActiveDocument.Selection.textIf Len(className) 1 ThenActiveDocument.Selection.MoveTo(StartLine - 1, 0)ActiveDocument.Selection.EndOfLine()ActiveDocument.Selection.NewLine()End IfIf InStr(className, “class“) 0 Thenc

21、lassName = LTrim(Right(className, Len(className) - Len(“class“)End IfIf InStr(className, “:“) 0 ThenclassName = Trim(Left(className, InStr(className, “:“) - 1)ElseclassName = Trim(className)End IfActiveDocument.Selection.text = “/*“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “*

22、 class “ + classNameActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* brief “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* Detailed description.“ActiveDocument.Selection.NewLine()ActiveDoc

23、ument.Selection.text = “*/“End IfEnd Sub生成 doxygen样式组描述Sub GroupDescription()ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “/*“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* name “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* brief “Ac

24、tiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* Detailed description.“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “* “ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “*/“ActiveDocument.Selection.NewLine()ActiveDocument.Selection.NewLine()ActiveDocument.Selection.text = “/* */“End SubEnd Module

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报