Jak: kód manipulovat pomocí modelu kódu Visual C++ (Visual C#)
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
Vytvoření Visual Studio přidat projekt v Visual C#.
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.
Přidat using Microsoft.VisualStudio.VCCodeModel; na začátek souboru Connect.cs.
Kód v metodě OnConnection nahraďte následující kód:
// Add-in code. using Microsoft.VisualStudio.VCCodeModel; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { _applicationObject = (DTE2)application; )addInInstance = (AddIn)addInInst; // Pass the applicationObject member variable to the code example. test((DTE2)_applicationObject); } public void test( DTE2 dte ) { VCCodeModel vcCM = null; VCCodeElement vcCodeElement = null; vcCM = ( ( VCCodeModel )( dte.Solution.Item( 1 ).CodeModel ) ); vcCodeElement = ( ( VCCodeElement ) ( vcCM.CodeElements.Item(1))); AddCommentAtStart( vcCodeElement ); AddCommentAtEnd( vcCodeElement ); } public void AddCommentAtStart( Microsoft.VisualStudio.VCCodeModel.VCCodeElement vcCodeElement ) { TextPoint textPoint = null; textPoint = vcCodeElement.get_StartPointOf( vsCMPart.vsCMPartWhole, 0 ); textPoint.CreateEditPoint().Insert("/*This is a Start Comment*/"); } public void AddCommentAtEnd( Microsoft.VisualStudio.VCCodeModel.VCCodeElement vcCodeElement ) { TextPoint textPoint = null; textPoint = vcCodeElement.get_EndPointOf( vsCMPart.vsCMPartWhole, 0 ); textPoint.CreateEditPoint().Insert( "/*End Comment*/" ); }
Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.
Otevřít Visual C++ v projektu Visual Studio integrované vývojové prostředí (IDE).
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.
Zkontrolujte první soubor v projektu pro programově přidané komentáře.
Přidat nový soubor do projektu Visual C++
Vytvoření Visual Studio přidat projekt v Visual C#.
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.
Přidat using Microsoft.VisualStudio.VCCodeModel; na začátek souboru Connect.cs.
Kód v metodě OnConnection nahraďte následující kód:
//Add-in code. using Microsoft.VisualStudio.VCCodeModel; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Pass the applicationObject member variable to the code example. GetVCCodeElement((DTE2)_applicationObject); } // Shows how to get a VCCodeElement. public void GetVCCodeElement( DTE2 dte ) { VCCodeModel vcCM = null; VCCodeElement vcCodeElement = null; vcCM = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeModel )( dte.Solution.Item( 1 ).CodeModel ) ); vcCodeElement = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeElement )( vcCM.AddClass( "MyClass2", "MyClass2.h",0,null, null, EnvDTE.vsCMAccess.vsCMAccessDefault ) ) ); }
Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.
Otevřít Visual C++ v projektu Visual Studio IDE.
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
Vytvoření Visual Studio přidat projekt v Visual C#.
Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a bylo povoleno a potom klepněte na tlačítko OK.
Přidejte následující pomocí příkazů na začátek souboru Connect.cs:
using System.Windows.Forms; using Microsoft.VisualStudio.VCCodeModel;
Kód v metodě OnConnection nahraďte následující kód:
// Add-in code. using Microsoft.VisualStudio.VCCodeModel; using System.Windows.Forms; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Pass the applicationObject member variable to the code example. DisplayName((DTE2)_applicationObject); } // DisplayName // Shows the DisplayName of a function which includes the parameter // names. public void DisplayName( DTE2 dte ) { VCCodeModel vcCM = null; VCCodeElement vcCodeElement = null; vcCM = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeModel )( dte.Solution.Item( 1 ).CodeModel ) ); vcCodeElement = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeElement ) ( vcCM.AddFunction( "MyFunction", "File.h", vsCMFunction.vsCMFunctionFunction, "void", null, EnvDTE.vsCMAccess.vsCMAccessDefault ) ) ); MessageBox.Show( vcCodeElement.DisplayName); }
Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.
Otevřít Visual C++ v projektu Visual Studio IDE a přidat ji file.h.
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.
Zkontrolujte kód vložený v file.h.
Zobrazí soubory, které obsahují prvky nejvyšší úrovně kódu
Vytvoření Visual Studio přidat projekt v Visual C#.
Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a bylo povoleno a potom klepněte na tlačítko OK.
Přidejte následující pomocí příkazů na začátek souboru Connect.cs:
using System.Windows.Forms; using Microsoft.VisualStudio.VCCodeModel;
Nahradit kód v OnConnection metodou s následujícím kódem:
// Add-in code. using Microsoft.VisualStudio.VCCodeModel; using System.Windows.Forms; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Pass the applicationObject member variable to the code example. DisplayLocation((DTE2)_applicationObject); } public void DisplayLocation( DTE2 dte ) { VCCodeModel vcCM = null; VCCodeElement vcCodeElement = null; vcCM = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeModel )( dte.Solution.Item( 1 ).CodeModel ) ); foreach ( Microsoft.VisualStudio.VCCodeModel.VCCodeElement temp in vcCM.CodeElements ) { vcCodeElement = temp; MessageBox.Show( vcCodeElement.Name + " is declared in " + vcCodeElement.get_Location(vsCMWhere.vsCMWhereDefault)); } }
Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.
Otevřít Visual C++ v projektu Visual Studio IDE.
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
Vytvoření Visual Studio přidat projekt v Visual C#.
Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET karta, vyberte Microsoft.VisualStudio.VCCodeModel a bylo povoleno a potom klepněte na tlačítko OK.
Přidejte následující pomocí příkazů na začátek souboru Connect.cs:
using System.Windows.Forms; using Microsoft.VisualStudio.VCCodeModel;
Nahradit kód v OnConnection metodou s následujícím kódem:
// Add-in code. using Microsoft.VisualStudio.VCCodeModel; using System.Windows.Forms; public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Pass the applicationObject member variable to the code example. FindItem((DTE2)_applicationObject); } public void FindItem( DTE2 dte ) { VCCodeModel vcCM = null; VCCodeElements vcCodeElements = null; vcCM = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeModel )( dte.Solution.Item( 1 ).CodeModel ) ); vcCodeElements = ( ( Microsoft.VisualStudio.VCCodeModel.VCCodeElements ) ( vcCM.CodeElements ) ); int i = 0; for ( i=1; i<=vcCodeElements.Count; i++ ) { MessageBox.Show( vcCodeElements.Item( i ).Name); } }
Chcete-li vytvořit doplněk, klepněte na tlačítko Sestavit řešení na sestavení nabídce.
Otevřít Visual C++ v projektu Visual Studio IDE.
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é
Úkoly
Jak: kód manipulovat pomocí modelu Visual C++ kódu (Visual Basic)