Нужна помощь с Visual Studio Macro - PullRequest
0 голосов
/ 05 июля 2010

У меня есть макрос, который добавляет заголовок об авторских правах к моим 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 Ответ

2 голосов
/ 05 июля 2010

Нет репро, они не из макроса. Рассмотрим какое-то дополнение к Visual Studio как источник проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...