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
Vytvořte projekt doplňku Visual Studio v Visual Basic.
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.
Přidejte Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.
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
Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C++ nebo Visual Studio v integrovaném vývojovém prostředí (IDE).
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.
Prozkoumejte programově přidané komentáře v prvním souboru v projektu.
Přidání nového souboru do projektu Visual C++
Vytvořte projekt doplňku Visual Studio v Visual Basic.
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.
Přidejte Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.
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
Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C++ nebo v IDE Visual Studio.
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
Vytvořte projekt doplňku Visual Studio v Visual Basic.
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.
Přidejte Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.
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
Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C++ v rámci Visual Studio IDE a přidejte do něj file.h.
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.
Zkontrolujte kód vložený v souboru file.h.
Chcete-li zobrazit soubory, které obsahují elementy kódu nejvyšší úrovně
Vytvořte projekt doplňku Visual Studio v Visual Basic.
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.
Přidejte Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.
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
Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C++ nebo v IDE Visual Studio.
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ě
Vytvořte projekt doplňku Visual Studio v Visual Basic.
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.
Přidejte Imports Microsoft.VisualStudio.VCCodeModel na začátek souboru Connect.vb.
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
Pokud chcete sestavit doplněk, klikněte na Sestavit řešení v nabídce Sestavení.
Otevřete projekt Visual C++ nebo v IDE Visual Studio.
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.