Sdílet prostřednictvím


Jak: kód manipulovat pomocí modelu Visual C++ kódu (Visual Basic)

Visual Studio Modelu kódu umožňuje klientům automatizace najít definice kódů v projektu a změnit tyto prvky kódu.Visual C++obsahuje rozšíření modelu kódu jádra na cílový kód specifický pro Visual C++.

Například pokud Language vlastnost označuje, že daný kód prvek Visual C++ objektu modelu kódu, a Kind = vsCMElementClass, pak můžete použít buď CodeClass2 z Visual Studio modelu kódu nebo VCCodeClass z Visual C++ modelu kódu.

Následující postupy ukazují, jak zkoumat a generovat kód pomocí modelu kódu, který je specifický pro Visual C++.

Přidat komentář na první soubor v projektu

  1. Vytvoření Visual Studio přidat projekt v Visual Basic.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

  3. Přidat Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.

  4. Kód v metodě OnConnection nahraďte následující kód:

    Imports Microsoft.VisualStudio.VCCodeModel
    Public Sub OnConnection(ByVal application As Object, ByVal  _
      connectMode As ext_ConnectMode, ByVal addInInst As Object, _
      ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        test(_applicationObject)
    End Sub
    
    Sub test(ByVal dte As DTE2)
        Dim vcCM As VCCodeModel
        Dim vcCodeElement As VCCodeElement
        vcCM = CType(dte.Solution.Item(1).CodeModel, VCCodeModel)
        vcCodeElement = CType(vcCM.CodeElements.Item(1), _
          VCCodeElement)
        AddCommentAtStart(vcCodeElement)
        AddCommentAtEnd(vcCodeElement)
    End Sub
    
    ' Project Property
    ' StartPointOf Property
    ' Adds a comment before the VCCodeElement declaration.
    Sub AddCommentAtStart(ByVal vcCodeElement As VCCodeElement)
        Dim textPoint As TextPoint
        textPoint = vcCodeElement.StartPointOf(vsCMPart.vsCMPartWhole)
        textPoint.CreateEditPoint().Insert("/*This is a Start_ Comment*/")
    End Sub
    
    Sub AddCommentAtEnd(ByVal vcCodeElement As VCCodeElement)
        Dim textPoint As TextPoint
        textPoint = vcCodeElement.EndPointOf(vsCMPart.vsCMPartWhole)
        textPoint.CreateEditPoint().Insert("/*End Comment*/")
    End Sub
    
  5. Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.

  6. Otevřít Visual C++ v projektu Visual Studio integrované vývojové prostředí (IDE).

  7. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

  8. Zkontrolujte první soubor v projektu pro programově přidané komentáře.

Přidat nový soubor do projektu Visual C++

  1. Vytvoření Visual Studio přidat projekt v Visual Basic.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

  3. Přidat Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.

  4. Kód v metodě OnConnection nahraďte následující kód:

    Imports Microsoft.VisualStudio.VCCodeModel
    Public Sub OnConnection(ByVal application As Object, ByVal _
      connectMode As ext_ConnectMode, ByVal addInInst As Object,  _
      ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        GetVCCodeElement(_applicationObject)
    End Sub
    
    ' Shows how to get a VCCodeElement.
    Sub GetVCCodeElement(ByVal dte As DTE2)
        Dim vcCM As VCCodeModel
        Dim vcCodeElement As VCCodeElement
        vcCM = CType(dte.Solution.Item(1).CodeModel, VCCodeModel)
        vcCodeElement = CType(vcCM.AddClass("MyClass2", "MyClass2.h"), _
          VCCodeElement)
    End Sub
    
  5. Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.

  6. Otevřít Visual C++ v projektu Visual Studio IDE.

  7. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

    [!POZNÁMKA]

    MyClass2.h již existuje, kód se nezdaří.

Přidání funkcí do file.h

  1. Vytvoření Visual Studio přidat projekt v Visual Basic.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

  3. Přidat Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.

  4. Kód v metodě OnConnection nahraďte následující kód:

    Imports Microsoft.VisualStudio.VCCodeModel
    Public Sub OnConnection(ByVal application As Object, ByVal _
      connectMode As ext_ConnectMode, ByVal addInInst As Object, _
      ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        DisplayName(_applicationObject)
    End Sub
    
    ' DisplayName
    ' Shows the DisplayName of a function which includes the parameter 
    ' names.
    Sub DisplayName(ByVal dte As DTE2)
        Dim vcCM As VCCodeModel
        Dim vcCodeElement As VCCodeElement
        vcCM = CType(dte.Solution.Item(1).CodeModel, VCCodeModel)
        vcCodeElement = CType(vcCM.AddFunction("MyFunction", "File.h", _
          vsCMFunction.vsCMFunctionFunction, "void"), VCCodeElement)
        MsgBox(vcCodeElement.DisplayName)
    End Sub
    
  5. Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.

  6. Otevřít Visual C++ v projektu Visual Studio IDE a přidat ji file.h.

  7. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa pak vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

  8. Zkontrolujte kód vložený v file.h.

Zobrazí soubory, které obsahují prvky nejvyšší úrovně kódu

  1. Vytvoření Visual Studio přidat projekt v Visual Basic.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

  3. Přidat Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.

  4. Nahradit kód v OnConnection metodou s následujícím kódem:

    Imports Microsoft.VisualStudio.VCCodeModel
    Public Sub OnConnection(ByVal application As Object, ByVal _
      connectMode As ext_ConnectMode, ByVal addInInst As Object, _
      ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        DisplayLocation(_applicationObject)
    End Sub
    
    Sub DisplayLocation(ByVal dte As DTE2)
        Dim vcCM As VCCodeModel
        Dim vcCodeElement As VCCodeElement
        vcCM = CType(dte.Solution.Item(1).CodeModel, VCCodeModel)
        For Each vcCodeElement In vcCM.CodeElements
            MsgBox(vcCodeElement.Name + " is declared in " _
              & vcCodeElement.Location)
        Next
    End Sub
    
  5. Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.

  6. Otevřít Visual C++ v projektu Visual Studio IDE.

  7. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa pak vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

    Zprávy zobrazují názvy souborů, které obsahují prvky nejvyšší úrovně kódu.

Zobrazit všechny položky element nejvyšší úrovně kódu

  1. Vytvoření Visual Studio přidat projekt v Visual Basic.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

  3. Přidat Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.

  4. Nahradit kód v OnConnection metodou s následujícím kódem:

    Imports Microsoft.VisualStudio.VCCodeModel
    Public Sub OnConnection(ByVal application As Object, ByVal _
     connectMode As Extensibility.ext_ConnectMode, ByVal addInInst _
     As Object, ByRef custom As System.Array) Implements _
     Extensibility.IDTExtensibility2.OnConnection
    
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        FindItem(_applicationObject)
    End Sub
    
    Sub FindItem(ByVal dte As DTE2)
        Dim vcCM As VCCodeModel
        Dim vcCodeElements As VCCodeElements
        vcCM = CType(dte.Solution.Item(1).CodeModel, VCCodeModel)
        vcCodeElements = CType(vcCM.CodeElements, VCCodeElements)
        Dim i As Integer
        For i = 1 To vcCodeElements.Count
            MsgBox(vcCodeElements.Item(i).Name)
        Next
    End Sub
    
  5. Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.

  6. Otevřít Visual C++ v projektu Visual Studio IDE.

  7. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa pak vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

    Zprávy zobrazují názvy prvků kód nejvyšší úrovně.

Viz také

Koncepty

Model kódu Visual C++

Zjištění kódu pomocí kódu modelu (Visual Basic)

Zjištění kódu pomocí kódu modelu (Visual C#)