vs 为函数自动添加注释

来源:互联网 发布:淘宝网买四轮电动车 编辑:程序博客网 时间:2024/05/01 15:55

a) 自动添加文件注释  效果如下:

[cpp] view plain copy
print?
  1. /* 
  2.  * Copyright(C) 2012,Company 保留所有权利。( All rights reserved. ) 
  3.  *  
  4.  * 文件名称:TEDlg.cpp 
  5.  * 摘    要: 
  6.  * 当前版本:1.0 
  7.  * 作    者:YuJian 
  8.  * 创建日期:2012年3月18日 
  9.  */  
/* * Copyright(C) 2012,Company 保留所有权利。( All rights reserved. ) *  * 文件名称:TEDlg.cpp * 摘    要: * 当前版本:1.0 * 作    者:YuJian * 创建日期:2012年3月18日 */


 

b) 自动添加函数注释 效果如下:

[cpp] view plain copy
print?
  1. //———————————————————–  
  2. //       
  3. //  函数名称:CTEDlg::OnInitDialog  
  4. //       
  5. //  参    数: -无  
  6. //       
  7. //  返    回:BOOL  
  8. //       
  9. //  函数作用:  
  10. //       
  11. //  修改日期:2012年3月18日  By YuJian  
  12. //   
  13. //———————————————————–  
//-----------------------------------------------------------//     //  函数名称:CTEDlg::OnInitDialog//     //  参    数: -无//     //  返    回:BOOL//     //  函数作用://     //  修改日期:2012年3月18日  By YuJian// //-----------------------------------------------------------


 

所使用的途径 是:编写宏

而在,编写宏之前,要给VS2005安装补丁文件 ,否则 vs2005无法执行宏

英文补丁 431M

http://download.microsoft.com/download/6/3/c/63c69e5d-74c9-48ea-b905-30ac3831f288/VS80sp1-KB926601-X86-ENU.exe

中文补丁
http://download.microsoft.com/download/8/0/7/8071514d-9370-45c3-8af1-4ff09a70e59d/VS80sp1-KB926604-X86-CHS.exe

 

安装好了以后,就可以编写自动注释函数的宏了。。。

由于是VB,以前没用过,因此借鉴网上的程序,自己根据需要稍微修改了下

 

        1 建立宏项目

    工具→宏→新建宏项目,输入文件名称,并选择要保存的位置

    将下面的代码复制到Module1模块,保存。

 

[cpp] view plain copy
print?
  1. Imports System  
  2. Imports EnvDTE  
  3. Imports EnvDTE80  
  4. Imports System.Diagnostics  
  5.   
  6. Public Module Module1  
  7.     ’ ————————————————–  
  8.     ’ 生成文件说明注释  
  9.     ’ ————————————————–  
  10.     Sub FileDescription()  
  11.         Dim gAuthor As String = ”YuJian”  
  12.         Dim gCompany As String = ”Company”  
  13.   
  14.         Dim outTextDoc As TextDocument  
  15.         Dim outText As EditPoint  
  16.   
  17.         DTE.ActiveDocument.Selection.GotoLine(1)  
  18.         outTextDoc = DTE.ActiveDocument.Object(”TextDocument”)  
  19.         outText = outTextDoc.StartPoint.CreateEditPoint()  
  20.         outText.Insert(”/*” + vbCrLf)  
  21.         outText.Insert(” * Copyright(C) ” + Date.Today.Year.ToString() + “,” + gCompany + “ 保留所有权利。( All rights reserved. )” + vbCrLf)  
  22.         outText.Insert(” * ” + vbCrLf)  
  23.         outText.Insert(” * 文件名称:” + DTE.ActiveDocument.Name + vbCrLf)  
  24.         outText.Insert(” * 摘    要:” + vbCrLf)  
  25.         outText.Insert(” * 当前版本:1.0” + vbCrLf)  
  26.         outText.Insert(” * 作    者:” + gAuthor + vbCrLf)  
  27.         outText.Insert(” * 创建日期:” + Date.Today.ToLongDateString() + vbCrLf)  
  28.         outText.Insert(” */” + vbCrLf)  
  29.         DTE.ActiveDocument.Selection.GotoLine(10)  
  30.     End Sub  
  31.   
  32.     ’ ————————————————–  
  33.     ’ 生成函数说明注释  
  34.     ’ ————————————————–  
  35.     Sub FunctionRemark()  
  36.         Dim preSpaceCount As Integer = 0   ’ 注释前面的空格数, 缩进(单位:字符)  
  37.         Dim outTextDoc As TextDocument  
  38.         Dim outText As EditPoint  
  39.         Dim iCurrentLineNumber As Integer  
  40.   
  41.         iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine ’.ToString()  
  42.         outTextDoc = DTE.ActiveDocument.Object(”TextDocument”)  
  43.         outText = outTextDoc.StartPoint.CreateEditPoint()  
  44.         ’ 移动文本输入点到指定行上  
  45.         outText.MoveToLineAndOffset(iCurrentLineNumber, 1)  
  46.         Dim strSpace As String = ”“  
  47.         Dim iSpaceIndex As Integer  
  48.         For iSpaceIndex = 1 To preSpaceCount  
  49.             strSpace = strSpace + ” ”  
  50.         Next  
  51.         outText.Insert(strSpace + ”//———————————————————–” + vbCrLf)  
  52.         outText.Insert(strSpace + ”// 函数名称:” + vbCrLf)  
  53.         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  54.         outText.Insert(strSpace + ”// 参数:” + vbCrLf)  
  55.         outText.Insert(strSpace + ”//    - ” + vbCrLf)  
  56.         outText.Insert(strSpace + ”// 返回:” + vbCrLf)  
  57.         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  58.         outText.Insert(strSpace + ”// 说明:” + vbCrLf)  
  59.         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  60.         outText.Insert(strSpace + ”//———————————————————–” + vbCrLf)  
  61.     End Sub  
  62.   
  63.     ’ ————————————————–  
  64.     ’  
  65.     ’ 函数注释解析部分  
  66.     ’  
  67.     ’ ————————————————–  
  68.     Public Structure ITEMDATA  
  69.         Public itemType As Integer  
  70.         Public itemText As String  
  71.     End Structure  
  72.     Public lItemList As New System.Collections.Generic.List(Of ITEMDATA)(4)  
  73.     Private Function ParseFunctionDescription(ByVal funText As String) As Boolean  
  74.         Dim strItem As String  
  75.         Dim idata As ITEMDATA  
  76.         Dim strSplit As String() = funText.Split(”(“)  
  77.   
  78.         If strSplit.Length = 1 Then  
  79.             Return False  
  80.         End If  
  81.   
  82.         ’解析函数名称部分  
  83.         If strSplit.Length > 2 Then  
  84.             strItem = strSplit(strSplit.Length - 2).Trim()  
  85.         Else  
  86.             strItem = strSplit(0).Trim()  
  87.         End If  
  88.         Dim strHeadSplit As String() = strItem.Split(” ”)  
  89.         strItem = strHeadSplit(strHeadSplit.Length - 1).Trim()  
  90.         idata.itemType = 1  
  91.         idata.itemText = strItem.Trim()  
  92.         lItemList.Add(idata)  
  93.   
  94.         ’解析参数部分  
  95.         strItem = strSplit(strSplit.Length - 1).Trim()  
  96.         If strItem.Substring(0, 1) <> ”)” Then  
  97.             Dim iend As Integer = strItem.IndexOf(”)”, 0)  
  98.             Dim strParams As String = strItem.Substring(0, iend).Trim()  
  99.             Dim strParamSplit As String() = strParams.Split(”,”)  
  100.             For Each strItem In strParamSplit  
  101.                 idata.itemType = 2  
  102.                 idata.itemText = strItem.Trim()  
  103.                 lItemList.Add(idata)  
  104.             Next strItem  
  105.         Else  
  106.             idata.itemType = 2  
  107.             idata.itemText = ”无参数”  
  108.             lItemList.Add(idata)  
  109.         End If  
  110.         ’解析返回值类型  
  111.         Dim iIndex As Integer  
  112.         For iIndex = 0 To strHeadSplit.Length - 2  
  113.             idata.itemType = 3  
  114.             idata.itemText = strHeadSplit(iIndex).Trim()  
  115.             lItemList.Add(idata)  
  116.         Next iIndex  
  117.         Return True  
  118.     End Function  
  119.   
  120.     ’ ————————————————–  
  121.     ’  
  122.     ’ 根据函数声明生成注释  
  123.     ’  
  124.     ’ ————————————————–  
  125.     Sub MakeFunctionRemark()  
  126.         Dim preSpaceCount As Integer = 0   ’ 注释前面的空格数, 缩进(单位:字符)  
  127.         Dim outTextDoc As TextDocument  
  128.         Dim outText As EditPoint  
  129.         Dim iCurrentLineNumber As Integer  
  130.         Dim iLineLength As Integer  
  131.         Dim strFunText As String  
  132.         Dim iItemIndex As Integer  
  133.         Dim idata As ITEMDATA  
  134.   
  135.         lItemList.Clear()  
  136.   
  137.         iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine.ToString()  
  138.         outTextDoc = DTE.ActiveDocument.Object(”TextDocument”)  
  139.         outText = outTextDoc.StartPoint.CreateEditPoint()  
  140.         ’ 移动文本输入点到指定行上  
  141.         outText.MoveToLineAndOffset(iCurrentLineNumber, 1)  
  142.         iLineLength = outText.LineLength  
  143.         strFunText = outText.GetText(iLineLength)  
  144.         iLineLength = strFunText.Trim().Length  
  145.         ’但前行没有内容直接返回  
  146.         If iLineLength = 0 Then  
  147.             Return  
  148.         End If  
  149.   
  150.         ’ 解析函数名称  
  151.         Dim bResult As Boolean = ParseFunctionDescription(strFunText.Trim())  
  152.         If bResult = False Then  
  153.             lItemList.Clear()  
  154.             Return  
  155.         End If  
  156.   
  157.         Dim pcount As Integer = 0  
  158.         Dim rcount As Integer = 0  
  159.         Dim strSpace As String = ”“  
  160.         Dim iSpaceIndex As Integer  
  161.         For iSpaceIndex = 1 To preSpaceCount  
  162.             strSpace = strSpace + ” ”  
  163.         Next  
  164.         outText.Insert(strSpace + ”//———————————————————–” + vbCrLf)  
  165.         For iItemIndex = 0 To lItemList.Count - 1  
  166.             idata = lItemList.Item(iItemIndex)  
  167.             Select Case idata.itemType  
  168.                 Case 1  
  169.                     outText.Insert(strSpace + ”//     ” + vbCrLf)  
  170.                     outText.Insert(strSpace + ”//  函数名称:” + idata.itemText + vbCrLf)  
  171.   
  172.                     outText.Insert(strSpace + ”//     ” + vbCrLf)  
  173.                 Case 2  
  174.   
  175.                     If idata.itemText = ”无参数” Then  
  176.                         outText.Insert(strSpace + ”//  参    数: -无” + vbCrLf)  
  177.                         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  178.   
  179.                     Else  
  180.                         If pcount = 0 Then  
  181.                             outText.Insert(strSpace + ”//  参    数:” + vbCrLf)  
  182.                         End If  
  183.                         pcount = pcount + 1  
  184.                         outText.Insert(strSpace + ”//    - ” + idata.itemText + vbCrLf)  
  185.                         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  186.                     End If  
  187.   
  188.                 Case 3  
  189.                     If rcount = 0 Then  
  190.                         outText.Insert(strSpace + ”//  返    回:” + idata.itemText + vbCrLf)  
  191.                         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  192.                     End If  
  193.                     rcount = rcount + 1  
  194.                 Case 4  
  195.                 Case 5  
  196.             End Select  
  197.         Next  
  198.         outText.Insert(strSpace + ”//  函数作用:” + vbCrLf)  
  199.         outText.Insert(strSpace + ”//     ” + vbCrLf)  
  200.   
  201.         outText.Insert(strSpace + ”//  修改日期:” + Date.Today.ToLongDateString() + “  By YuJian” + vbCrLf)  
  202.         outText.Insert(strSpace + ”// ” + vbCrLf)  
  203.   
  204.         outText.Insert(strSpace + ”//———————————————————–” + vbCrLf)  
  205.   
  206.         lItemList.Clear()   ’清楚所有元素  
  207.     End Sub  
  208.   
  209.   
  210.   
  211. End Module  
Imports SystemImports EnvDTEImports EnvDTE80Imports System.DiagnosticsPublic Module Module1    ' --------------------------------------------------    ' 生成文件说明注释    ' --------------------------------------------------    Sub FileDescription()        Dim gAuthor As String = "YuJian"        Dim gCompany As String = "Company"        Dim outTextDoc As TextDocument        Dim outText As EditPoint        DTE.ActiveDocument.Selection.GotoLine(1)        outTextDoc = DTE.ActiveDocument.Object("TextDocument")        outText = outTextDoc.StartPoint.CreateEditPoint()        outText.Insert("/*" + vbCrLf)        outText.Insert(" * Copyright(C) " + Date.Today.Year.ToString() + "," + gCompany + " 保留所有权利。( All rights reserved. )" + vbCrLf)        outText.Insert(" * " + vbCrLf)        outText.Insert(" * 文件名称:" + DTE.ActiveDocument.Name + vbCrLf)        outText.Insert(" * 摘    要:" + vbCrLf)        outText.Insert(" * 当前版本:1.0" + vbCrLf)        outText.Insert(" * 作    者:" + gAuthor + vbCrLf)        outText.Insert(" * 创建日期:" + Date.Today.ToLongDateString() + vbCrLf)        outText.Insert(" */" + vbCrLf)        DTE.ActiveDocument.Selection.GotoLine(10)    End Sub    ' --------------------------------------------------    ' 生成函数说明注释    ' --------------------------------------------------    Sub FunctionRemark()        Dim preSpaceCount As Integer = 0   ' 注释前面的空格数, 缩进(单位:字符)        Dim outTextDoc As TextDocument        Dim outText As EditPoint        Dim iCurrentLineNumber As Integer        iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine '.ToString()        outTextDoc = DTE.ActiveDocument.Object("TextDocument")        outText = outTextDoc.StartPoint.CreateEditPoint()        ' 移动文本输入点到指定行上        outText.MoveToLineAndOffset(iCurrentLineNumber, 1)        Dim strSpace As String = ""        Dim iSpaceIndex As Integer        For iSpaceIndex = 1 To preSpaceCount            strSpace = strSpace + " "        Next        outText.Insert(strSpace + "//-----------------------------------------------------------" + vbCrLf)        outText.Insert(strSpace + "// 函数名称:" + vbCrLf)        outText.Insert(strSpace + "//     " + vbCrLf)        outText.Insert(strSpace + "// 参数:" + vbCrLf)        outText.Insert(strSpace + "//    - " + vbCrLf)        outText.Insert(strSpace + "// 返回:" + vbCrLf)        outText.Insert(strSpace + "//     " + vbCrLf)        outText.Insert(strSpace + "// 说明:" + vbCrLf)        outText.Insert(strSpace + "//     " + vbCrLf)        outText.Insert(strSpace + "//-----------------------------------------------------------" + vbCrLf)    End Sub    ' --------------------------------------------------    '    ' 函数注释解析部分    '    ' --------------------------------------------------    Public Structure ITEMDATA        Public itemType As Integer        Public itemText As String    End Structure    Public lItemList As New System.Collections.Generic.List(Of ITEMDATA)(4)    Private Function ParseFunctionDescription(ByVal funText As String) As Boolean        Dim strItem As String        Dim idata As ITEMDATA        Dim strSplit As String() = funText.Split("(")        If strSplit.Length = 1 Then            Return False        End If        '解析函数名称部分        If strSplit.Length > 2 Then            strItem = strSplit(strSplit.Length - 2).Trim()        Else            strItem = strSplit(0).Trim()        End If        Dim strHeadSplit As String() = strItem.Split(" ")        strItem = strHeadSplit(strHeadSplit.Length - 1).Trim()        idata.itemType = 1        idata.itemText = strItem.Trim()        lItemList.Add(idata)        '解析参数部分        strItem = strSplit(strSplit.Length - 1).Trim()        If strItem.Substring(0, 1) <> ")" Then            Dim iend As Integer = strItem.IndexOf(")", 0)            Dim strParams As String = strItem.Substring(0, iend).Trim()            Dim strParamSplit As String() = strParams.Split(",")            For Each strItem In strParamSplit                idata.itemType = 2                idata.itemText = strItem.Trim()                lItemList.Add(idata)            Next strItem        Else            idata.itemType = 2            idata.itemText = "无参数"            lItemList.Add(idata)        End If        '解析返回值类型        Dim iIndex As Integer        For iIndex = 0 To strHeadSplit.Length - 2            idata.itemType = 3            idata.itemText = strHeadSplit(iIndex).Trim()            lItemList.Add(idata)        Next iIndex        Return True    End Function    ' --------------------------------------------------    '    ' 根据函数声明生成注释    '    ' --------------------------------------------------    Sub MakeFunctionRemark()        Dim preSpaceCount As Integer = 0   ' 注释前面的空格数, 缩进(单位:字符)        Dim outTextDoc As TextDocument        Dim outText As EditPoint        Dim iCurrentLineNumber As Integer        Dim iLineLength As Integer        Dim strFunText As String        Dim iItemIndex As Integer        Dim idata As ITEMDATA        lItemList.Clear()        iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine.ToString()        outTextDoc = DTE.ActiveDocument.Object("TextDocument")        outText = outTextDoc.StartPoint.CreateEditPoint()        ' 移动文本输入点到指定行上        outText.MoveToLineAndOffset(iCurrentLineNumber, 1)        iLineLength = outText.LineLength        strFunText = outText.GetText(iLineLength)        iLineLength = strFunText.Trim().Length        '但前行没有内容直接返回        If iLineLength = 0 Then            Return        End If        ' 解析函数名称        Dim bResult As Boolean = ParseFunctionDescription(strFunText.Trim())        If bResult = False Then            lItemList.Clear()            Return        End If        Dim pcount As Integer = 0        Dim rcount As Integer = 0        Dim strSpace As String = ""        Dim iSpaceIndex As Integer        For iSpaceIndex = 1 To preSpaceCount            strSpace = strSpace + " "        Next        outText.Insert(strSpace + "//-----------------------------------------------------------" + vbCrLf)        For iItemIndex = 0 To lItemList.Count - 1            idata = lItemList.Item(iItemIndex)            Select Case idata.itemType                Case 1                    outText.Insert(strSpace + "//     " + vbCrLf)                    outText.Insert(strSpace + "//  函数名称:" + idata.itemText + vbCrLf)                    outText.Insert(strSpace + "//     " + vbCrLf)                Case 2                    If idata.itemText = "无参数" Then                        outText.Insert(strSpace + "//  参    数: -无" + vbCrLf)                        outText.Insert(strSpace + "//     " + vbCrLf)                    Else                        If pcount = 0 Then                            outText.Insert(strSpace + "//  参    数:" + vbCrLf)                        End If                        pcount = pcount + 1                        outText.Insert(strSpace + "//    - " + idata.itemText + vbCrLf)                        outText.Insert(strSpace + "//     " + vbCrLf)                    End If                Case 3                    If rcount = 0 Then                        outText.Insert(strSpace + "//  返    回:" + idata.itemText + vbCrLf)                        outText.Insert(strSpace + "//     " + vbCrLf)                    End If                    rcount = rcount + 1                Case 4                Case 5            End Select        Next        outText.Insert(strSpace + "//  函数作用:" + vbCrLf)        outText.Insert(strSpace + "//     " + vbCrLf)        outText.Insert(strSpace + "//  修改日期:" + Date.Today.ToLongDateString() + "  By YuJian" + vbCrLf)        outText.Insert(strSpace + "// " + vbCrLf)        outText.Insert(strSpace + "//-----------------------------------------------------------" + vbCrLf)        lItemList.Clear()   '清楚所有元素    End SubEnd Module


 

将宏项目加载后, 在宏资源器中,便会发现该项目有三个宏方法:

 

FileDescription :  是为整个文件添加注释

FunctionRemark: 为函数添加注释——(很粗糙的  信息需要自己输入,这是中间函数  )

MakeFunctionRemark:  自动为函数添加注释

 

我们需要的是 FileDescription  和MarkFunctionRemark这两个宏函数。

分别双击它们,便可建立文件注释和函数注释。  不过,建立函数注释前, 光标必须位于函数定义处。

 

c) 对语句进行说明

[cpp] view plain copy
print?
  1. /******************************    add by yujian 2012年5月8日 10:19   *************************************/  
  2.   
  3.     if (FontType&RASTER_FONTTYPE)  
  4.     {  
  5.         return TRUE;  
  6.     }  
  7.   
  8. /******************************    add by yujian 2012年5月8日 10:19   *************************************/  
/******************************    add by yujian 2012年5月8日 10:19   *************************************/    if (FontType&RASTER_FONTTYPE)    {        return TRUE;    }/******************************    add by yujian 2012年5月8日 10:19   *************************************/


 

代码:

 

[cpp] view plain copy
print?
  1. ’ ————————————————–  
  2. ‘ 生成函数语句说明注释  
  3. ‘ ————————————————–  
  4. Sub FunctionRemark()  
  5.   
  6.     Dim preSpaceCount As Integer = 0   ’ 注释前面的空格数, 缩进(单位:字符)  
  7.     Dim outTextDoc As TextDocument  
  8.     Dim outText As EditPoint  
  9.     Dim iCurrentLineNumber As Integer  
  10.   
  11.     ’ iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine ’.ToString()  
  12.   
  13.     iCurrentLineNumber = DTE.ActiveDocument.Selection.TopLine  
  14.   
  15.     outTextDoc = DTE.ActiveDocument.Object(”TextDocument”)  
  16.     outText = outTextDoc.StartPoint.CreateEditPoint()  
  17.     ’ 移动文本输入点到指定行上  
  18.     outText.MoveToLineAndOffset(iCurrentLineNumber - 1, 1)  
  19.     Dim strSpace As String = ”“  
  20.     Dim iSpaceIndex As Integer  
  21.     For iSpaceIndex = 1 To preSpaceCount  
  22.         strSpace = strSpace + ” ”  
  23.     Next  
  24.     outText.Insert(strSpace + ”/******************************   ” + “ add by yujian ” + Date.Today.ToLongDateString() + “ ” + Date.Now.Hour.ToString + “:” + Date.Now.Minute.ToString + “   *************************************/” + vbCrLf)  
  25.     ’ outText.Insert(strSpace + vbCrLf)  
  26.     ’  outText.Insert(strSpace + ”/******************************   ” + “ add by yujian ” + Date.Today.ToLongDateString() + “ ” + Date.Now.Hour.ToString + “:” + Date.Now.Minute.ToString + “   *************************************/” + vbCrLf)  
  27.   
  28.   
  29.     iCurrentLineNumber = DTE.ActiveDocument.Selection.BottomLine + 1  
  30.   
  31.     ’ 移动文本输入点到指定行上  
  32.     outText.MoveToLineAndOffset(iCurrentLineNumber + 1, 1)  
  33.     outText.Insert(strSpace + ”/******************************   ” + “ add by yujian ” + Date.Today.ToLongDateString() + “ ” + Date.Now.Hour.ToString + “:” + Date.Now.Minute.ToString + “   *************************************/” + vbCrLf)  
  34.   
  35.   
  36.   
  37.       
  38. End Sub  
    ' --------------------------------------------------    ' 生成函数语句说明注释    ' --------------------------------------------------    Sub FunctionRemark()        Dim preSpaceCount As Integer = 0   ' 注释前面的空格数, 缩进(单位:字符)        Dim outTextDoc As TextDocument        Dim outText As EditPoint        Dim iCurrentLineNumber As Integer        ' iCurrentLineNumber = DTE.ActiveDocument.Selection.CurrentLine '.ToString()        iCurrentLineNumber = DTE.ActiveDocument.Selection.TopLine        outTextDoc = DTE.ActiveDocument.Object("TextDocument")        outText = outTextDoc.StartPoint.CreateEditPoint()        ' 移动文本输入点到指定行上        outText.MoveToLineAndOffset(iCurrentLineNumber - 1, 1)        Dim strSpace As String = ""        Dim iSpaceIndex As Integer        For iSpaceIndex = 1 To preSpaceCount            strSpace = strSpace + " "        Next        outText.Insert(strSpace + "/******************************   " + " add by yujian " + Date.Today.ToLongDateString() + " " + Date.Now.Hour.ToString + ":" + Date.Now.Minute.ToString + "   *************************************/" + vbCrLf)        ' outText.Insert(strSpace + vbCrLf)        '  outText.Insert(strSpace + "/******************************   " + " add by yujian " + Date.Today.ToLongDateString() + " " + Date.Now.Hour.ToString + ":" + Date.Now.Minute.ToString + "   *************************************/" + vbCrLf)        iCurrentLineNumber = DTE.ActiveDocument.Selection.BottomLine + 1        ' 移动文本输入点到指定行上        outText.MoveToLineAndOffset(iCurrentLineNumber + 1, 1)        outText.Insert(strSpace + "/******************************   " + " add by yujian " + Date.Today.ToLongDateString() + " " + Date.Now.Hour.ToString + ":" + Date.Now.Minute.ToString + "   *************************************/" + vbCrLf)    End Sub


 

 

 

2 建立快捷键

 

在源项目工程中【不是在宏项目中】  依次选择

工具→选项→环境→键盘

设置用来运行宏的快捷键,注意不要和已有的快捷键相冲突。

 

比如:  建立文件注释  快捷键为: ALT+A

              建立函数注释 快捷键为: ALT+R

 

 

 

 

参考资料:

http://z.chao.yue.blog.163.com/blog/static/13086262020114210373211/

http://www.cppblog.com/eday/archive/2007/07/15/28079.html

http://pppboy.blog.163.com/blog/static/3020379620091030111611858/

 

 

 

 

0 0
原创粉丝点击