Procedura: utilizzare una macro per l'aggiunta di testo in un editor di codice Visual Basic o C#

È possibile utilizzare il modello a oggetti estensibilità per aggiungere codice a qualsiasi editor del codice di Visual Basic o Visual C#. I possibili utilizzi di questa funzionalità includono l'aggiunta di nuove routine e di blocchi di commenti standard. Per l'esecuzione di questa attività si presuppone che l'utente sia in grado di accedere all'ambiente di sviluppo delle macro e di creare un progetto macro. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi progetto macro. Per implementare la macro di esempio riportata di seguito, è necessario che sia aperto un progetto Visual Basic.

Nella procedura riportata di seguito viene aggiunto del testo a un editor di codice di Visual Basic. Per aggiungere codice a un editor del codice di Visual C#, utilizzare il valore dell'enumerazione prjKindCSharpProject nel passaggio cinque (5).

Nota

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Queste procedure sono state sviluppate con le Impostazioni generali per lo sviluppo attive. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Per aggiungere testo all'inizio dell'editor di codice Visual Basic attivo

  1. Creare un nuovo modulo macro denominato EditorMacros.

  2. Creare una nuova macro, AddSomeText, aggiungendo al modulo macro il codice riportato di seguito:

    Public Sub AddSomeText()
       ' Will add code here to add text.
    End Sub
    
  3. Dichiarare e inizializzare una variabile per fare riferimento all'editor di codice aperto.

    Dim doc As Document = DTE.ActiveDocument
    

    Per ulteriori informazioni, vedere l'oggetto Document e la proprietà ActiveDocument.

  4. L'oggetto Document contiene un oggetto TextDocument accessibile mediante il metodo Object, come illustrato di seguito.

    Dim textDoc As TextDocument = _
       CType(doc.Object("TextDocument"), TextDocument)
    
  5. Per assicurarsi che il codice venga aggiunto all'editor di codice di Visual Basic, è possibile testare la proprietà Kind del progetto che contiene la finestra.

    If doc.ProjectItem.ContainingProject.Kind = _
    VSLangProj.PrjKind.prjKindVBProject Then
       ' Add code here to insert text.
    End If
    
  6. Utilizzando l'oggetto TextDocument creare un punto di modifica all'inizio dell'editor. Utilizzare quindi il metodo Insert della proprietà Selection per aggiungere testo all'editor. Per ulteriori informazioni, vedere il metodo CreateEditPoint e la proprietà Selection.

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

    Di seguito è riportata la macro completa:

    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. Salvare la macro, chiudere l'IDE macro ed eseguirla da Esplora macro.

Vedere anche

Riferimenti

ActiveDocument

Document

TextDocument