Visual Studio erweitern: Elemente hinzufügen

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

Wer Visual Studio erweitern möchte, muss nicht nur die verschiedenen Wege kennen, wir man benutzerdefinierten Code in Visual Studio verfügbar machen kann. Wir müssen uns auch mit dem Objektmodell beschäftigen, dass es uns erlaubt, etwa Elemente zu einem Projekt hinzuzufügen oder bestehende Elemente um Code zu erweitern. Damit legen wir dann die Grundlage für viele Anwendungsfälle – etwa, um von Visual Studio aus ein Entity Data Model auf Basis des Datenmodells einer Access-Datenbank zu erstellen. Im vorliegenden Artikel zeigen wir jedoch erst einmal, wie Sie per DTE-Objektmodell neue Elemente zu einem Visual Basic-Projekt hinzufügen.

Ein Element hinzufügen

Ein Anwendungsfall könnte sein, dass Sie ein komplett neues Element zu einem Projekt hinzufügen wollen oder dass Sie bereits über eine entsprechende Datei verfügen und diese zum Projekt hinzufügen wollen. Wir erledigen das alles über die Kontextmenü-Einträge des Projektmappen-Explorers, wie wir sie im Artikel Visual Studio erweitern: Menübefehle angelegt haben.

In diesem Fall fügen wir den Befehl zum Kontextmenü des Projekt-Elements zu. Wir beschreiben das hier einmal, bei den folgenden Funktionen geben wir nur noch die wichtigsten Informationen zu den neuen Befehlen an. Wir fügen unserer VSIX-Lösung (wie Sie diese erstellen, erfahren Sie im oben genannten Artikel) ein neues Element des Typs Extensibility|Custom Command hinzu und nennen dieses NeueDateiHinzufuegen.vb. Wenn wir das tun, findet Visual Studio automatisch eine eventuell bereits vorhandene Package-Klasse und .vsct-Datei und fügt letzterer die Konfiguration des neuen Elements hinzu.

In der .vsct-Datei ändern wir das Element Commands|Groups|Group für das neue Element wie folgt, wir ändern also das Attribut id im Parent-Element in IDM_VS_CTXT_PROJNODE:

<Group guid="guidBeispielcommandPackageCmdSet1" id="MyMenuGroup" priority="0x0600">
   <Parent guid="guidSHLMainMenu"     id="IDM_VS_CTXT_PROJECTNODE" />
</Group>

So erscheint der neue Befehl als Kontextmenü-Eintrag des Projekt-Elements im Projektmappen-Explorer. Außerdem ändern wir die Beschriftung des Befehls in der gleichen Datei für das Unterelement ButtonText des Button-Elements wie folgt:

<ButtonText>Neue Datei hinzufügen</ButtonText>

Damit erhalten wir, wenn wir die Anwendung zum Debuggen starten, in der nun erscheinenden Visual Studio-Instanz mit dem Titel Experimentelle Instanz einen neuen Kontextmenü-Eintrag wie in Bild 1. Bevor wir mit der Programmierung der Methode Execute beginnen, fügen wir der Klasse NeueDateiEinfuegen.vb die beiden folgenden Namespaces hinzu:

Neuer Kontextmenü-Eintrag

Bild 1: Neuer Kontextmenü-Eintrag

 

Schreibe einen Kommentar