Visual Studio宏需要帮助

时间:2010-07-05 18:32:47

标签: visual-studio macros

我有一个宏将版权标题添加到我的VB文件中,但不幸的是它没有按预期运行。

这是宏

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics

Public Module CopyrightCode
    Sub AddCopyrightHeader()

        Dim doc As Document
        Dim docName As String
        Dim companyName As String = "My Company"
        Dim authorName As String = "rockinthesixstring"
        Dim authorEmail As String = "rockinthesixstring@example.com"
        Dim copyrightText As String = "All code is Copyright © " & vbCrLf & _
        "'      -   My Exceptional Company (http://example.com)" & vbCrLf & _
        "'     All Rights Reserved"

        ' Get the name of this object from the file name
        doc = DTE.ActiveDocument

        ' Get the name of the current document
        docName = doc.Name

        ' Set selection to top of document
        DTE.ActiveDocument.Selection.StartOfDocument()
        DTE.ActiveDocument.Selection.NewLine()

        Dim sb As New StringBuilder
        sb.Append("' --------------------------------")
        sb.Append(vbCrLf)
        sb.Append("' <copyright file=""" & docName & """ company=""" & companyName & """>")
        sb.Append(vbCrLf)
        sb.Append(copyrightText)
        sb.Append(vbCrLf)
        sb.Append("' </copyright>")
        sb.Append(vbCrLf)
        sb.Append("' <author>" & authorName & "</author>")
        sb.Append(vbCrLf)
        sb.Append("' <email>" & authorEmail & "</email>")
        sb.Append(vbCrLf)
        sb.Append("' <date>" & FormatDateTime(Date.Now, vbLongDate) & "</date>")
        sb.Append(vbCrLf)
        sb.Append("' ---------------------------------")

        ' Write first line
        DTE.ActiveDocument.Selection.LineUp()
        DTE.ActiveDocument.Selection.Text = sb.ToString

    End Sub
End Module

但问题是它在插入的末尾添加了四个引号,我必须手动删除。这些引号来自哪里?

' --------------------------------  
' <copyright file="MyFile.vb" company="My Company">  
'     All code is Copyright ©     
'      -   My Exceptional Company (http://example.com) 
'     All Rights Reserved  
' </copyright>  
' <author>rockinthesixstring</author>  
' <email>rockinthesixstring@example.com</email>  
' <date>Monday, July 05, 2010</date>  
' ---------------------------------   
""""  

但是如果我使用单引号,那就好了。

    sb.Append("' <copyright file='" & docName & "' company='" & companyName & "'>")

1 个答案:

答案 0 :(得分:2)

没有重复,他们不是来自宏。考虑将某种Visual Studio加载项作为问题的根源。