Sdílet prostřednictvím


Postupy: Manipulace s kódem pomocí modelu kódu Visual C++ (Visual Basic)

Ve verzi Visual Studio 2013 jsou zastaralé doplňky.Doporučujeme upgradovat doplňky na rozšíření VSPackage.Další informace o upgradu najdete v tématu Nejčastější dotazy: Převádění doplňků na rozšíření VSPackage.

Model kódu Visual Studio nabízí klientům automatizace možnost najít definice kódu v projektu a změnit tyto elementy kódu.Visual C++ poskytuje rozšíření základního kódového modelu na cílový kód, který je specifický pro Visual C++.

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

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

Přidání komentáře k prvnímu souboru v projektu

  1. Vytvořte projekt doplňku Visual Studio v Visual Basic.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

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

  4. Nahraďte kód v metodě OnConnection 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)
        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. Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.

  6. Otevřete projekt Visual C++ nebo Visual Studio v integrovaném vývojovém prostředí (IDE).

  7. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

  8. Prozkoumejte programově přidané komentáře v prvním souboru v projektu.

Přidání nového souboru do projektu Visual C++

  1. Vytvořte projekt doplňku Visual Studio v Visual Basic.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

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

  4. Nahraďte kód v metodě OnConnection 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)
        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. Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.

  6. Otevřete projekt Visual C++ nebo v IDE Visual Studio.

  7. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

    [!POZNÁMKA]

    Pokud MyClass2.h již existuje, dojde k chybě kódu.

Přidání funkce do file.h

  1. Vytvořte projekt doplňku Visual Studio v Visual Basic.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

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

  4. Nahraďte kód v metodě OnConnection 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)
        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. Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.

  6. Otevřete projekt Visual C++ v rámci Visual Studio IDE a přidejte do něj file.h.

  7. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

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

Chcete-li zobrazit soubory, které obsahují elementy kódu nejvyšší úrovně

  1. Vytvořte projekt doplňku Visual Studio v Visual Basic.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

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

  4. Nahraďte kód ve metodě OnConnection 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. Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.

  6. Otevřete projekt Visual C++ nebo v IDE Visual Studio.

  7. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

    Okna se zprávou obsahují názvy souborů, které obsahují prvky nejvyšší úrovně kódu.

K zobrazení všech položek elementu kódu nejvyšší úrovně

  1. Vytvořte projekt doplňku Visual Studio v Visual Basic.

  2. V nabídce Projekt klepněte na tlačítko Přidat odkaz, klepněte na kartu .NET, vyberte Microsoft.VisualStudio.VCCodeModel a potom klepněte na tlačítko OK.

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

  4. Nahraďte kód ve metodě OnConnection 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. Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.

  6. Otevřete projekt Visual C++ nebo v IDE Visual Studio.

  7. V nabídce Nástroje klepněte na tlačítko Správce doplňků a vyberte doplněk z dialogového okna Správce doplňků.Klepněte na tlačítko OK a spusťte tak doplněk.

    Okna se zprávou obsahují názvy prvků nejvyšší úrovně kódu.

Viz také

Koncepty

Model kódu Visual C++

Zjišťování kódu pomocí modelu kódu (Visual Basic)

Zjišťování kódu pomocí modelu kódu (Visual C#)