Frage

Wenn ich den Auslöser, um das Auto Kommentar-Funktion in Visual Studio (durch Eingabe von „‚‘ '“ oder ‚///‘) geben, die meisten der XML Details zu kommentieren zeigen, dass Ich mag. Allerdings füge ich normalerweise die Geschichte Tag in die Dokumentation, so kann ich verfolgen und Änderungen, die an das Verfahren im Laufe der Zeit gemacht werden.

Gibt es eine Möglichkeit, das Auto anpassen kann Feature zu kommentieren, so dass es die Geschichte Tag hinzufügen wird, und möglicherweise einige generischen Namen - Datum - Ändern Platzhalter-Text

?
War es hilfreich?

Lösung

Ich würde vorschlagen, mit GhostDoc . Es erzeugt sehr intelligente Kommentare mit /// auf der Grundlage Ihrer Methodennamen und Parametern. Es ist auch völlig kundengerecht.

Andere Tipps

Ich bin kein großer Fan von halten die „Geschichte“ oder Titel des Projekts unter Verwendung von Kommentaren im Code

Ich denke, dass Sie ein Werkzeug verwenden könnte als dgarcia sagte aber versuchen, einen zu wählen, die die Versionskontrolle insetad macht, persönlich .

Wenn Sie diese Weise können Sie Ihre eigene angepasste Version des Snippets erstellen könnte, das ist einfacher, wenn Sie ein Tool wie diese Datei Kopieren auf Ihre

Eigene Dateien \ Visual Studio 2005 \ Code Snippets [Sprache] \ My Code Snippets \

Nur vorsichtig sein, um die Datei zu ändern, wenn Sie werden es in VB.NET verwenden

Hope this help

Wie Followup auf den Kommentar zu Olivier. Hier ist eine Kopie des Makros jetzt, suchen Sie nach dem ‚‘ Do Geschichte Abschnitt zu sehen, wo ich Code eingefügt.

    ''// InsertDocComments goes through the current document using the VS Code Model
    ''// to add documentation style comments to each function.
    ''
    Sub InsertDocComments()
        Dim projectItem As ProjectItem
        Dim fileCodeModel As FileCodeModel
        Dim codeElement As CodeElement
        Dim codeElementType As CodeType
        Dim editPoint As EditPoint
        Dim commentStart As String

        projectItem = DTE.ActiveDocument.ProjectItem
        fileCodeModel = projectItem.FileCodeModel
        codeElement = fileCodeModel.CodeElements.Item(1)

        ''// For the sample, don't bother recursively descending all code like
        ''// the OutlineCode sample does. Just get a first CodeType in the
        ''// file.
        If (TypeOf codeElement Is CodeNamespace) Then
            codeElement = codeElement.members.item(1)
        End If
        If (TypeOf codeElement Is CodeType) Then
            codeElementType = CType(codeElement, CodeType)
        Else
            Throw New Exception("Didn't find a type definition as first thing in file or find a namespace as the first thing with a type inside the namespace.")
        End If

        editPoint = codeElementType.GetStartPoint(vsCMPart.vsCMPartHeader).CreateEditPoint()

        ''// Make doc comment start.
        commentStart = LineOrientedCommentStart()
        If (commentStart.Length = 2) Then
            commentStart = commentStart & commentStart.Chars(1) & " "
        ElseIf (commentStart.Length = 1) Then
            commentStart = commentStart & commentStart.Chars(0) & commentStart.Chars(0) & " "
        End If

        ''// Make this atomically undo'able.  Use Try...Finally to ensure Undo
        ''// Context is close.
        Try
            DTE.UndoContext.Open("Insert Doc Comments")

            ''// Iterate over code elements emitting doc comments for functions.
            For Each codeElement In codeElementType.Members
                If (codeElement.Kind = vsCMElement.vsCMElementFunction) Then
                    ''// Get Params.
                    Dim parameters As CodeElements
                    Dim codeFunction As CodeFunction
                    Dim codeElement2 As CodeElement
                    Dim codeParameter As CodeParameter

                    codeFunction = codeElement
                    editPoint.MoveToPoint(codeFunction.GetStartPoint(vsCMPart.vsCMPartHeader))
                    ''//editPoint.LineUp()
                    parameters = codeFunction.Parameters

                    ''// Do comment.
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.LineUp()
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "<summary>")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "Summary of " & codeElement.Name & ".")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "</summary>")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)

                    For Each codeElement2 In parameters
                        codeParameter = codeElement2
                        editPoint.Insert("<param name=" & codeParameter.Name & "></param>")
                        editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                        editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)
                    Next ''//param

                    ''// Do history tag.
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.LineUp()
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "<history>")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "Name   MM/DD/YYYY   [Created]")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "</history>")
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
                    editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)

                End If ''//we have a function
            Next ''//code elt member

        Finally
            DTE.UndoContext.Close()
        End Try
    End Sub

Aus irgendeinem Grunde nach dem Speichern, neu zu erstellen, und ein Neustart von Visual Studio, ich bin nicht die Geschichte Tag bekommen. Kann jemand etwas hier sehe ich bin fehlt?

vb verwendet eine XML-Datei, die defults zu laden. Es ist VBXMLDoc.xml und es hängt davon ab, welche Version Sie in Bezug auf die Position der Datei ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top