Gewusst wie: Verwenden eines Makros zum Hinzufügen von Text in einem Editor für Visual Basic- oder C#-Code

Mithilfe des Erweiterbarkeitsobjektmodells können Sie Code einem beliebigen Editor für Visual Basic- oder Visual C#-Code hinzufügen. Zur möglichen Verwendung dieser Funktion gehört das Hinzufügen neuer Prozeduren sowie von Standardkommentarblöcken. Bei dieser Aufgabe wird vorausgesetzt, dass Sie bereits Kenntnisse über das Aufrufen der Entwicklungsumgebung für Makros sowie das Erstellen eines Makroprojekts besitzen. Weitere Informationen finden Sie unter Dialogfeld "Makroprojekt hinzufügen". Um das folgende Makrobeispiel implementieren zu können, muss ein Visual Basic-Projekt geöffnet sein.

In den folgenden Schritten wird Text in einem Editor für Visual Basic-Code hinzugefügt. Um Code einem Visual C#-Code-Editor hinzuzufügen, verwenden Sie den prjKindCSharpProject-Enumerationswert in Schritt 5.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

So fügen Sie Text am Beginn des aktiven Visual Basic-Code-Editors hinzu

  1. Erstellen Sie ein neues Makromodul mit dem Namen EditorMacros.

  2. Erstellen Sie ein neues Makro (AddSomeText) durch Hinzufügen des folgenden Codes zum Makromodul:

    Public Sub AddSomeText()
       ' Will add code here to add text.
    End Sub
    
  3. Deklarieren und initialisieren Sie eine Variable, um auf den geöffneten Code-Editor zu verweisen.

    Dim doc As Document = DTE.ActiveDocument
    

    Weitere Informationen finden Sie unter dem Document-Objekt und der ActiveDocument-Eigenschaft.

  4. Das Document-Objekt enthält ein TextDocument-Objekt, auf das Sie wie unten dargestellt mit der Object-Methode zugreifen können.

    Dim textDoc As TextDocument = _
       CType(doc.Object("TextDocument"), TextDocument)
    
  5. Um sicherzustellen, dass Sie Code im Editor für Visual Basic-Code hinzufügen, können Sie die Kind-Eigenschaft des Projekts testen, in dem das Fenster enthalten ist.

    If doc.ProjectItem.ContainingProject.Kind = _
    VSLangProj.PrjKind.prjKindVBProject Then
       ' Add code here to insert text.
    End If
    
  6. Mithilfe des TextDocument-Objekts können Sie einen Bearbeitungspunkt am Beginn des Editors erstellen. Fügen Sie dann mit der Insert-Methode der Selection-Eigenschaft Text im Editor hinzu. Weitere Informationen finden Sie unter der CreateEditPoint-Methode und der Selection-Eigenschaft.

    textDoc.StartPoint.CreateEditPoint()
    textDoc.Selection.Insert("' A comment")
    

    Das vollständige Makro lautet folgendermaßen:

    Public Sub AddSomeText()
       Dim doc As Document = DTE.ActiveDocument
       Dim textDoc As TextDocument = _
          CType(doc.Object("TextDocument"), TextDocument)
       If doc.ProjectItem.ContainingProject.Kind = _
          VSLangProj.PrjKind.prjKindVBProject Then
          textDoc.StartPoint.CreateEditPoint()
          textDoc.Selection.Insert("' A comment")
       End If
    End Sub
    
  7. Speichern Sie das Makro, schließen Sie die Makro-IDE, und führen Sie das Makro über den Makro-Explorer aus.

Siehe auch

Referenz

ActiveDocument

Document

TextDocument