Udostępnij za pośrednictwem


Jak: manipulować kod przy użyciu Visual C++ kod modelu (Visual Basic)

Visual Studio Kod modelu oferuje klientom automatyzacji zdolność do znajdowania definicje kodu w projekcie i zmodyfikować te elementy kodu.Visual C++zawiera rozszerzenie modelu kodu core kod docelowej, specyficzne dla Visual C++.

Na przykład jeśli Language właściwości wskazuje, że element danego kodu jest Visual C++ kod modelu obiektów, i Kind = vsCMElementClass, a następnie można użyć albo CodeClass2 z Visual Studio kod modelu lub VCCodeClass z Visual C++ kod modelu.

Następujące procedury demonstrują sposób zbadać i wygenerować kod przy użyciu modelu kodu, który jest specyficzne dla Visual C++.

Aby dodać komentarz do pierwszego pliku projektu

  1. Tworzenie Visual Studio dodatek projektu w Visual Basic.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET tab, wybierz Microsoft.VisualStudio.VCCodeModel, a następnie kliknij przycisk OK.

  3. Dodaj Imports Microsoft.VisualStudio.VCCodeModel do początku pliku Connect.vb.

  4. Zastąp kod w metodzie OnConnection następujący kod:

    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. Aby zbudować dodatek, kliknij przycisk Roztwór budować na budować menu.

  6. Otwórz Visual C++ projektu w Visual Studio zintegrowane środowisko dewelopowania (IDE).

  7. Na Narzędzia menu, kliknij przycisk - w Menedżerzei wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

  8. Zbadać pierwszy plik projektu dla programowo dodane komentarze.

Aby dodać nowy plik do projektu Visual C++

  1. Tworzenie Visual Studio dodatek projektu w Visual Basic.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET tab, wybierz Microsoft.VisualStudio.VCCodeModel, a następnie kliknij przycisk OK.

  3. Dodaj Imports Microsoft.VisualStudio.VCCodeModel do początku pliku Connect.vb.

  4. Zastąp kod w metodzie OnConnection następujący kod:

    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. Aby zbudować dodatek, kliknij przycisk Roztwór budować na budować menu.

  6. Otwórz Visual C++ projektu w Visual Studio IDE.

  7. Na Narzędzia menu, kliknij przycisk - w Menedżerzei wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

    [!UWAGA]

    Jeśli MyClass2.h już istnieje, kod nie powiedzie się.

Aby dodać funkcję do file.h

  1. Tworzenie Visual Studio dodatek projektu w Visual Basic.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET tab, wybierz Microsoft.VisualStudio.VCCodeModel, a następnie kliknij przycisk OK.

  3. Dodaj Imports Microsoft.VisualStudio.VCCodeModel do początku pliku Connect.vb.

  4. Zastąp kod w metodzie OnConnection następujący kod:

    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. Aby zbudować dodatek, kliknij przycisk Roztwór budować na budować menu.

  6. Otwórz Visual C++ projektu w Visual Studio IDE i dodawanie file.h do niej.

  7. Na Narzędzia menu, kliknij przycisk - w Menedżerze, a następnie wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

  8. Sprawdzić kod wstawionego w file.h.

Aby wyświetlić pliki, które zawierają elementy kodu najwyższego poziomu

  1. Tworzenie Visual Studio dodatek projektu w Visual Basic.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET tab, wybierz Microsoft.VisualStudio.VCCodeModel, a następnie kliknij przycisk OK.

  3. Dodaj Imports Microsoft.VisualStudio.VCCodeModel do początku pliku Connect.vb.

  4. Zastąp kod w OnConnection metodę z następującego kodu:

    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. Aby zbudować dodatek, kliknij przycisk Roztwór budować na budować menu.

  6. Otwórz Visual C++ projektu w Visual Studio IDE.

  7. Na Narzędzia menu, kliknij przycisk - w Menedżerze, a następnie wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

    Okna komunikatów wyświetlane nazwy plików, które zawierają elementów najwyższego poziomu kodu.

Aby wyświetlić wszystkie elementy element najwyższego poziomu kodu

  1. Tworzenie Visual Studio dodatek projektu w Visual Basic.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET tab, wybierz Microsoft.VisualStudio.VCCodeModel, a następnie kliknij przycisk OK.

  3. Dodaj Imports Microsoft.VisualStudio.VCCodeModel do początku pliku Connect.vb.

  4. Zastąp kod w OnConnection metodę z następującego kodu:

    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. Aby zbudować dodatek, kliknij przycisk Roztwór budować na budować menu.

  6. Otwórz Visual C++ projektu w Visual Studio IDE.

  7. Na Narzędzia menu, kliknij przycisk - w Menedżerze, a następnie wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

    Okna komunikatów wyświetlane nazwy elementów najwyższego poziomu kodu.

Zobacz też

Koncepcje

Visual C++ kod modelu

Odkrywanie kod przy użyciu modelu kodu (Visual Basic)

Odkrywanie kod przy użyciu modelu kodu (Visual C#)