Visual Studio mit LINQPad: Project und ProjectItems

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

In den Artikeln der Reihe Visual Studio erweitern greifen wir von Visual Studio-Erweiterungen aus auf Elemente von Visual Studio zu. Leider ist das Debuggen dieser Erweiterungen äußerst mühsam. Zum Debuggen müssen Sie nämlich immer erst eine weitere Visual Studio-Instanz erstellen, welche dann die Erweiterungen enthält und zum Testen bereitstellt. Fällt eine Änderung an, müssen Sie das Debuggen beenden, die Änderungen einarbeiten und erneut starten. Da wäre es doch praktisch, wenn man einfach nur eine Instanz von Visual Studio öffnen und die darauf zugreifenden Methoden direkt testen könnte. Genau das realisieren wir in diesem Artikel, wo wir das Tool LINQPad nutzen. Dieses haben wir bereits in früheren Artikeln verwendet.

Wer von Access und dem VBA-Editor kommt, findet das Debuggen unter Visual Studio bisweilen anstrengend. Im Visual Basic Editor war das alles viel einfacher: Man konnte einfach eine Prozedur in ein Standardmodul schreiben, die Einfügemarke in der Prozedur platzieren und diese mit der Taste F5 starten. Damit konnte man sogar während der Entwicklung auf Elemente des Visual Studio Editors selbst zugreifen! Und genau das wollen wir mit Visual Studio auch tun, um uns die Objekte, Methoden und Eigenschaften, die für die Programmierung von Visual Studio notwendig sind, besser kennenzulernen und schnell ausprobieren zu können.

Eine Möglichkeit dazu finden wir über das Tool LINQPad. Dieses erlaubt die Eingabe von Prozeduren und die direkte Ausführung mit der Taste F5 – genau so, wie Sie es auch von Access und dem VBA-Editor kennen.

LINQPad können Sie in einer kostenlosen Version unter https://www.linqpad.net/ herunterladen. Wenn Sie damit einfache VB-Prozeduren ausführen wollen, wechseln Sie im Auswahlfeld Language auf VB Program. Dadurch wird direkt eine leere Prozedur namens Main angelegt, die wir mit einer einfachen Debug.Print-Anweisung füllen. Diese ist übrigens automatisch verfügbar, ohne dass Sie zuvor einen Verweis auf den Namespace System.Diagnostics hinzufügen müssen. Wenn Sie dann die Einfügemarke in der Prozedur platzieren und auf die Start-Schaltfläche klicken oder die Taste F5 betätigen, führt LINQPad die Prozedur aus und das Ergebnis landet im Results-Bereich von LINQPad (siehe Bild 1).

Einfache Eingabe von Prozeduren

Bild 1: Einfache Eingabe von Prozeduren

Visual Studio fernsteuern

Nun wollen wir von LINQPad aus die aktuelle Visual Studio-Instanz fernsteuern. Dazu benötigen wir zunächst zwei Verweise.

Diese fügen wir über einen Dialog hinzu, den wir mit der Taste F4 öffnen. Der nun erscheinende Dialog Query Properties enthält eine Schaltfläche namens Add…, mit der wir einen weiteren Dialog namens Add Custom Assembly References anzeigen.

Hier können Sie die angezeigte Liste aller verfügbaren Verweise schnell durch die Eingabe der Buchstaben env filtern, sodass nur noch die Einträge aus Bild 2 erscheinen. Hier wählen Sie die beiden Einträge EnvDTE.dll und EnvDTE80.dll aus und schließen den Dialog mit der OK-Schaltfläche.

Hinzufügen von Verweisen

Bild 2: Hinzufügen von Verweisen

Danach zeigt der Dialog Query Properties die hinzugefügten Verweise an (siehe Bild 3). Damit können Sie auch diesen Dialog schließen.

Neu hinzugefügte Verweise

Bild 3: Neu hinzugefügte Verweise

Referenzieren des Visual Studio-Objekts

Das oberste Element der Bibliothek zum Arbeiten mit Visual Studio ist das DTE2-Objekt.

Dieses deklarieren wir in unserer Prozedur wie folgt:

Dim objDTE As EnvDTE80.DTE2

Dann referenzieren wir es über die Methode GetActiveObject:

 

Schreibe einen Kommentar