`
zyy200411
  • 浏览: 46189 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VC下使用Macro (vbs)来实现标准注释的自动添加

阅读更多

在VC6.0中,Tools->Macro可以直接录制宏,实现源文件和函数的自动注释,编辑代码用vbs编写,代码如下:

'------------------------------------------------------------------------------
'FILE DESCRIPTION: 自动注释
'------------------------------------------------------------------------------

Sub FunctionDesc()
'DESCRIPTION: 函数注释
'Begin Recording
dim CurWin 
set CurWin = ActiveWindow
if CurWin is Nothing then exit sub

Dim FucNameBak 
ActiveDocument.Selection.SelectLine
FucNameBak = ActiveDocument.Selection
LTrim(FucNameBak)
RTrim(FucNameBak)

If FucNameBak = "" Then
   MsgBox "错误:请选中函数声明行!"
   Exit Sub
End If

Dim FuncName,FuncType,sTmp
Dim SpacePos,LeftPos,RightPos
SpacePos = Instr(1,FucNameBak," ",1)
LeftPos = Instr(1,FucNameBak,"(",1)
RightPos = Instr(1,FucNameBak,")",1)

If (LeftPos = 0) OR (RightPos=0) Then
   MsgBox "错误:函数体结构不完整,请检查代码!"
   Exit Sub
End If

If SpacePos = 0 Then
   FuncType = ""
   FuncName = Mid(FucNameBak,1,LeftPos-1)
Else
   FuncType = Mid(FucNameBak,1,SpacePos)
   FuncName = Mid(FucNameBak,SpacePos+1,LeftPos-SpacePos-1)
End If

Dim ParaArray
sTmp = Mid(FucNameBak,(LeftPos+1),(RightPos-LeftPos-1))
If sTmp <> "" Then
   ParaArray = Split(sTmp,",",-1,1)
End If

ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "/**************************************************"
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 函数名称:" & FuncName
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 输入参数:"

   '''''''''''''
If sTmp <> "" Then
	If UBound(ParaArray) < 0 Then
	   ActiveDocument.Selection = " 无 "
	Else
	   ActiveDocument.Selection = ( UBound(ParaArray) + 1 ) & "个参数 "
	   For i=0 To UBound(ParaArray)
		ActiveDocument.Selection.NewLine
		ActiveDocument.Selection = "*           参数" & (i+1) & ":" & RTrim(LTrim(ParaArray(i)))
	   Next
	End If
Else
	ActiveDocument.Selection = " 无 "	
End If
   '''''''''''''

ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 输出参数:" & FuncType
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 函数功能:" 
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 创建作者:zyy" 
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "* 创建时间:" & Now()
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = "**************************************************/"
ActiveDocument.Selection.NewLine
ActiveDocument.Selection = FucNameBak
'End Recording
End Sub

Sub FileDesc()
'DESCRIPTION: 文件注释
'Begin Recording
    ActiveDocument.Selection.StartOfDocument
    DefaultUserName = "zyy"
    Dim FileName
    FileName = ActiveDocument.Name
    ActiveDocument.Selection = "/******************************************************************" +_
                        vbLF + "* 文件名称:" + FileName +_
                        vbLF + "* 创建作者:" + DefaultUserName +_
                        vbLF + "* 创建时间:" + CStr(Now) +_
                        vbLF + "* 功能描述:" +_
                        vbLF + "* 修改记录:" +_
                        vbLF + "******************************************************************/"                       
    ActiveDocument.Selection.LineUp flase, 3
    ActiveDocument.Selection.EndOfLine
'End Recording
End Sub

 

分享到:
评论

相关推荐

    VC 6.0 快捷键添加/取消注释

    为了提高开发效率,可以通过自定义宏的方式,在VC 6.0中实现快速添加或取消代码注释的功能。 #### 二、宏的实现原理与安装步骤 **宏实现原理:** 该宏通过判断当前文档类型来决定使用哪种注释方式(C/C++使用`//`...

    fortran多行注释[归类].pdf

    本文将介绍如何使用 Macro 来实现多行注释,并将其添加到工具栏中,以便快速添加和删除注释。 首先,我们需要在 Visual Fortran 中创建一个新的 Macro 文件 GrpComment.dsm。在这个文件中,我们需要添加 VBScript ...

    VC Macro Tool

    总之,"VC Macro Tool" 提供的自动补全功能对于Visual C++的开发工作来说是一大助力,它可以简化代码编写,提高生产力。通过安装"VA_X_Setup1715.exe" 并应用"Patch.exe" 补丁,用户可以确保获得最新、最稳定的功能...

    source insight 多行注释及反注释宏

    自己写的source insight注释宏,实现类似VC IDE的多行注释及反注释功能。使用方法:打开source insight的Base工程,选择Add and Remove Project Files,将Comments.em文件添加进Base工程,保存即可退出。打开其他...

    开源免费宏自动化工具 Pulover’s Macro Creator 5.4.0 中文免费版.zip

    使用Pulover的Macro Creator,您可以在一个脚本下加入不同的宏,然后从预览窗口中将代码复制到所需的任何位置。它提供文本,控件,消息框,窗口,图像/像素搜索,循环和标签命令,以及变量和功能。 导出宏时,您...

    FreeMarker使用Macro实例

    FreeMarker使用Macro实例,很好的学习资料。

    doxygen使用说明,标准注释说明及快速入门

    本指南将介绍如何使用Doxygen,以及如何编写标准注释以生成高质量的文档。 ### 1. 安装与配置 Doxygen 首先,你需要下载并安装适用于你操作系统的Doxygen版本。安装完成后,通常会有一个名为 `doxygen` 的可执行...

    VC++的标准注释

    Vc下面可以直接录制宏(Tools-&gt;Record quick Macros),这样可以把鼠标,键盘动作录制下来,录制以后可以编辑,(Tools-&gt;Macro,选中宏名称,点 EDIT 就可以进入宏文件中进行编辑)。默认的存储文件名是 MYMACRO.DSM...

    Java和Python编程实现的不同使用macro action.zip

    标题中的“Java和Python编程实现的不同使用macro action.zip”表明这是一个关于使用Java和Python两种编程语言实现特定功能的项目,可能涉及到宏操作(macro action)的实现。在课程设计或项目开发中,选择不同的编程...

    使用quicker.em插件添加函数注释,文件头注释,标记注释等

    主要功能是为函数接口添加注释,为文件添加注释,生成头文件,生成标记注释(添加类似这样的注释:/*added by xxx 2014-05-07*/) , 按照同样的方法将该文件添加到Base工程中,该文件中定义了一个主要的宏Macro: ...

    VC6上经典的插件

    功能:Visual C++插件,提供了Visual C++源代码注解标准化与自动化功能。在它的帮助下,您可快速创建标头文件信息注解,文件中模块注解, C++处理方式,以及C语言功能与历史校正功能注解,等等。 8.FileTool ...

    超级简单的制作自动化执行事项的工具,Macro Creator和PMC脚本例子

    PMC脚本例子“run_tftpd.pmc”展示了如何利用PMC来实现自动化操作,如自动打开tftpd程序,填充输入框参数,并触发文件上传等动作。这在需要频繁执行相同上传任务时尤其有用,可以极大地节省时间和精力。 PMC脚本的...

    VS2008宏macro

    VS2008宏(Macro)是Visual Studio 2008中的一种自动化工具,它允许用户编写自定义脚本来实现一系列重复的操作,提高开发效率。宏在编程环境中特别有用,因为它们能够节省时间,避免手动执行繁琐的任务,如添加文件...

    cam350 macro 自动加尾孔

    cam350 macro 自动添加尾孔 很好用。

    source insight 多行注释,取消注释,函数名注释模板

    自己写的宏macro CodeCommentsEnter(),CodeCommentsCancel(),macro CodeHeadAdd(),和UE特殊编辑下面的添加注释、取消注释相同,最后一个是函数名的注释模板。 使用方法:直接覆盖BASE工程、安装路径下面的文件...

    SourceInsight base project including macro files

    在SourceInsight中,宏可以用来自动添加这些注释,确保代码与文档同步更新,简化文档维护工作。 **4. 开启File Event Handler** File Event Handler是SourceInsight的一个特性,它允许在文件打开、保存或关闭等事件...

    QuickMacro

    QuickMacro是一款功能强大的自动化工具,尤其适用于执行重复性的键盘和鼠标操作,极大地提高了工作效率。...通过了解并熟练运用其各项功能,用户可以在各种场景下实现电脑操作的自动化,从而更高效地完成任务。

    sourceinsight 便捷插件 符合Doxygen的注释标准

    比如,它可能提供了一种方法来检查代码中的注释是否符合Doxygen标准,或者自动更新注释中的函数签名等。 4. **openfolder.em**:这个文件可能是一个打开目录的命令定义,方便用户快速打开当前项目的Doxygen配置文件...

    SAS Macro Make it easy

    SAS宏设施是SAS系统中的一个功能,它允许程序员使用宏变量(Macro Variables)、宏程序(Macro Programs)和宏语言(Macro Language)来编写可重用的代码,这些代码可以自动执行复杂的SAS程序任务。SAS宏设施的主要...

Global site tag (gtag.js) - Google Analytics