iX 6/2017
S. 56
Review
Entwicklungsumgebung
Aufmacherbild

Visual Studio 2017 erscheint zum 20. Geburtstag der IDE

Jubiläumsausgabe

Microsofts Entwicklungsumgebung wurde in den letzten 20 Jahren immer mächtiger, aber damit auch behäbiger. Daher setzen die Redmonder in der neuen Version ihrer Entwicklungsumgebung vor allem auf Modularisierung. Dazu kommen weitere Steigerungen der Entwicklerproduktivität durch Verbesserungen in Editor, Debugger sowie den Testwerkzeugen.

Am 28. Januar 1997 erschien die erste Visual-Studio-Version mit der Versionsnummer 97 beziehungsweise 5.0. Entwicklungsumgebungen von Microsoft gab es vorher schon, aber Visual Studio bildete seitdem eine Dachmarke über bisher eigenständige Produkte wie Visual C++, Visual Basic und Visual FoxPro sowie die damals neue Webentwicklungsumgebung Visual InterDev. Der größte Umbruch erfolgte 2002 mit der Einführung von Microsoft .NET und Managed Code.

Seit 2005 bietet der Hersteller auch ALM-Werkzeuge in der IDE an. Seit Microsofts Öffnung für andere Plattformen und Open Source unterstützt Visual Studio aber nicht nur die .NET-Sprachen C#, Visual Basic .NET und F# sowie die Websprachen JavaScript und TypeScript, sondern viele andere wie Objective-C, Java, IronPython, Go, PowerShell, Perl, Ruby, Swift, R, Lua, Groovy und Rust.

Ein Resultat dieser Vielfalt von Sprachen und Funktionen sind immer längere Installationszeiten, immer mehr Speicherplatzbedarf und eine lästige Trägheit bei vielen Aktionen im Entwickleralltag. Mit Visual Studio 2017 (VS2017) begann Microsoft nun gegenzusteuern und zerlegte die Installation stärker als in der Vergangenheit in Komponenten. Das Installationsprogramm präsentiert 16 sogenannte Workloads, es umfasst Komponentenpakete (siehe Abbildung 1) und zahlreiche einzelne Komponenten.

Komponenten heißen jetzt Workloads

Modulare Installation von Komponentenpaketen (Workloads), Einzelkomponenten und Sprachpaketen in Visual Studio 2017 (Abb. 1)

Eine Minimalinstallation „Visual Studio Core Editor“ umfasst 748 MByte und ist in drei Minuten erledigt. Sie bietet für einige Sprachen eine Syntaxfärbung und eine einfache Eingabevervollständigung für die Sprachkonstrukte beziehungsweise bereits im Dokument vorhandene Wörter, aber kein echtes IntelliSense. Auch wenn dies deutlich weniger ist als ein Minimal-Setup früherer Versionen, verlangt VS2017 immer noch deutlich mehr als andere Editoren mit vergleichbaren Fähigkeiten (beispielsweise rund 200 MByte für die Grundinstallation von Visual Studio Code, siehe „Alle Links“ am Ende des Artikels). Wer in VS2017 dann IntelliSense und Werkzeuge für Desktop- und Webanwendungen will, sammelt schnell 10 GByte zusammen. Die Übersetzung der Workloads in „Arbeitsauslastungen“ schreckt einmal mehr von der Verwendung der deutschen Version ab. Nicht alle Funktionen sind in Workloads organisiert. Unterstützung für GitHub und PowerShell, C++/CLI, diverse Testwerkzeuge sowie ältere Frameworks wie LINQ-to-SQL und Windows 8.1 findet der Entwickler unter den „Individual Components“.

Einen Workload kann der Entwickler jederzeit durch erneutes Aufrufen des Setups hinzufügen. Auch bei der Suche im Quick-Launch-Eingabefeld zeigt die IDE installierbare Workloads zum eingegebenen Suchbegriff. Beim Öffnen einer Projektmappe bietet Visual Studio an, benötigte Workloads nachzuinstallieren. Wenn der Entwickler dies ablehnt, bleiben die betroffenen Projekte in der Projektmappe erhalten, sind aber als „unavailable“ gekennzeichnet. Mit „Install Missing Features“ auf Projektmappenebene kann der Entwickler jederzeit die benötigten Komponenten anfordern.

Im Rahmen des Reviews erwies sich das nachträgliche Einspielen von Workloads aber als instabil: Die Installation des Workloads für Mobile Apps mit Xamarin brach mit einem unbekannten Fehler ab. Danach startete die IDE nicht mehr mit der Meldung: „The setup is not complete. Please run the installer again.“ Dieser weigerte sich aber mit einem „unknown error“ ebenfalls zu starten. Die „Tipps zur Problembehandlung“ führen zu einem Forum des Release Candidate und nicht zur finalen Version. Erst nach einem Neustart des Rechners ließ sich die Installation fortsetzen. Xamarin funktionierte aber auch danach nicht korrekt auf diesem System. Mittlerweile hat Microsoft mehrere Updates mit Bugfixes veröffentlicht.

Zu den Neuerungen der Installation gehört ebenfalls, dass VS2017 nicht mehr so viele Informationen in die Windows-Registry und den Global Assembly Cache (GAC) schreibt. Stattdessen erzeugt das Setup im Ordner /AppData/Local/Microsoft/VisualStudio nun Konfigurationsdateien und installiert benötigte DLLs im Anwendungsordner C:\Program Files (x86)\Microsoft Visual Studio\2017. Das Visual Studio-Team spricht dabei von „Low Impact Installation“ und will erreichen, dass verschiedene Visual-Studio-Versionen und sogar verschiedene Varianten einer VS-Version auf einem Rechner problemlos koexistieren können.

Keine ISO-Dateien mehr

Wie den Vorgänger gibt es auch VS2017 in drei Ausprägungen: die kommerziellen Professional- und Enterprise-Varianten sowie die für Open-Source-Entwickler und kleinere Firmen kostenfreie Community-Version. Bei Letzterer muss man aber gegenüber den professionellen Pendants leichte Abstriche machen, sie bietet beispielsweise kein Codelens. Unter www.visualstudio.com/vs/compare/ zeigt Microsoft, welche Variante welche Funktionen enthält. So sind viele Testwerkzeuge und die von der Firma Redgate übernommenen Werkzeuge „ReadyRoll Core“ und „SQL Prompt Core“ der Enterprise-Variante vorbehalten.

Bei den letzten Visual-Studio-Versionen hatten die Nutzer stets die Wahl zwischen einer Installation auf Basis einer ISO-Datei (rund 6 GByte) oder eines Webinstallers (rund 1 MByte), der die gewählten Komponenten aus dem Internet nachlädt. VS2017 bietet bisher nur Letzteren. Nutzer können sich aber für die Offline-Installation an einem Rechner mit Internetverbindung ein sogenanntes „Offline Layout“ mit den gewünschten Workloads zusammenstellen und den Vorgang damit später auf anderen Rechnern ohne Internetverbindung durchführen. Die fehlenden ISO-Dateien haben trotzdem bereits zu einigen Nutzerprotesten geführt. Microsoft begründet seine Entscheidung auf Uservoice.com und zieht die Wiedereinführung der ISO-Dateien zumindest in Erwägung (siehe „Alle Links“ am Ende des Artikels).

Für Erweiterungen gibt es ein neues Format (VSIX-Version 3), da diese nun die benötigten Workloads deklarieren müssen. Visual-Studio-Nutzer können mehrere Erweiterungen in einem Rutsch installieren und sich die Liste der installierten Erweiterungen auch per Microsoft-Cloud auf andere Rechner übertragen lassen. Ein automatisches Einspielen der Erweiterungen erfolgt dort aber nicht. Zudem überwacht VS2017 nun das Laufzeitverhalten von Erweiterungen und warnt, wenn eine Erweiterung die IDE ausbremst. Einige ältere Erweiterungen (etwa Projektvorlagen, die kein Template-Manifest besitzen) sind für die Nutzung in der aktuellen Version anzupassen.