Visual Studio Tipps und Tricks, Teil 33: Verwirrung vermeiden bei mehreren Visual Studio Hives
Wer Visual Studio Extensions schreibt oder sich mit Roslyn beschäftigt und Compilererweiterungen schreibt, der wird eher früher als später die Extension testen wollen. Die Extension liegt – wie man das eben erwarten - im Output Verzeichnis des Projekts und endet mit .vsix. Um das .vsix zu testen, ist es nötig es in Visual Studio zu installieren. Würde man während der Entwicklung des .vsix das .vsix im gleichen Visual Studio installieren, das auch zum Entwickeln verwendet wird, dann wird es gefährlich – es könnte passieren, dass die Extension fehlerhaft ist und deshalb Visual Studio durcheinanderbringt oder gar nicht mehr lauffähig macht.
Aus diesem Grund werden .vsix in der Regel in “anderen” Visual Studio Instanzen getestet – bisweilen nennt man diese auch “experimentelle Instanzen” . Wenn man innerhalb des .vsix-Projekts auf F5 drückt, wird eine solche neue Instanz von Visual Studio gestartet. Die neue Instanz von Visual Studio bezieht ihre Settings, Infos, Plugins aber nicht von der Hauptinstanz, sondern aus anderen Quellen – sie hat auch einen eigenen Registryhive der neben dem Registryhive des “echten” Visual Studio liegt, den sogenannten “experimentellen Hive”.
Insofern kann da eigentlich gar nicht viel schief gehen. Allerdings wird es bisweilen in der Praxis kompliziert: Wenn man mehrere Visual Studio Instanzen offen hat, ein paar mal auf F5 drückt und dann auch noch die experimentellen Instanzen laufen, verliert man schnell die Übersicht, da nicht mehr auf den ersten Blick erkennbar ist, was jetzt eigentlich eine experimentelle Instanz ist und was nicht. Die experimentellen Instanzen sind ja voll lauffähig. Man kann da also auch komplett neue Projekte anlegen usw. Davon würde ich allerdings abraten, weil das in der Regel nur zu Verwirrung führt – aber genau darum geht’s ja: Wie vermeidet man die Verwirrung?
Ich selbst habe dafür eine einfache Lösung gefunden: Die experimentellen Instanzen von Visual Studio sind voll lauffähig und unterstützen somit auch Plugins und Extensions. Ich kann also in der experimentellen Instanz von Visual Studio einfach das Color Theme Plugin herunterladen und dann in der experimentellen Instanz die Farbe z.B. auf grün setzen. Das bezieht sich dann, wie gesagt, ausschließlich auf die experimentelle Instanz und nicht auf meine Haupt-Instanz. Durch die farbliche Markierung sehe ich auf den ersten Blick was experimentell ist und was nicht. Das Plugin überlebt auch Neustarts und kann jederzeit wieder deinstalliert werden.
Tl;dr
Unterschiedliche Visual Studio Hives unterstützen separate Plugins und Setting – darüber kann man unter anderem unterschiedliche Farbschemas festlegen.
Kurzer Text am Rande:
Dieser Post ist Teil einer längeren Serie, in der ich ein paar der vielleicht nicht ganz so bekannten Features von Visual Studio vorstellen werde. Ich hoffe, für Euch ist der ein oder andere Kniff dabei, den Ihr noch nicht kanntet. Und wenn ihr ihn doch schon kennt: Seid stolz auf Euch und verratet den Trick auch dem Entwickler neben Euch.