Windows Developer

Auf ein Neues!

Die wichtigsten Neuerungen in Visual Studio 2019 auf einen Blick
1 Kommentar

Alle zwei Jahre ist es an der Zeit: Microsoft bringt ein neues Visual-Studio-Update auf den Markt, woraufhin die Entwicklerschaft wie kopflose Hühner durch den Stall läuft. Was die neue Version des Produkts wirklich bringt, erfahren Sie in diesem Artikel.

Ein alter Kalauer besagt, dass reife Produkte im Laufe der Zeit eine gewisse Trägheit entwickeln – ein gut funktionierendes Programm bietet seinen Nutzern automatisch diverse sinnvolle Funktionen, was das Hinzufügen weiterer Features erschwert. Ob der immensen Größe von Visual Studio – in den letzten Jahren hat Microsofts Haudegen ja diverse neue Einsatzgebiete wie die Entwicklung für Android und iOS neu erobert – ist die Situation für Visual Studio 2019 insofern besonders, als Microsoft einen „breiten Garten“ für Experimente vorfand.

In diesem Artikel stelle ich Ihnen einige besonders interessante Funktionen vor, deren Kenntnis Ihnen in der Praxis Zeit erspart oder sonst wie hilfreich sein kann. Schon an dieser Stelle soll allerdings explizit darauf hingewiesen werden, dass die Auflistung der neuen Funktionen keinen Anspruch auf Vollständigkeit erhebt.

Beachten Sie bei der Lektüre dieses Artikels zudem, dass sich Visual Studio 2019 derzeit in aktiver Entwicklung befindet. Es ist Microsoft durchaus zuzutrauen, dass sich das Benutzerinterface noch stark verändert, und/oder dass bemängelte Bugs behoben werden, bis Sie dieses Heft in Händen halten.

Automatische Installation

Ein interessantes Feature von Visual Studio 2017 war der Visual Studio Installer, ein kleines Programm, das die Installation und Entfernung der diversen Komponenten von Microsofts IDE automatisierte. Wer – wie der Autor – momentan eine 2017er Version von Visual Studio auf seiner Workstation hat, kann den schon vorhandenen Installer trotzdem nicht weiterverwenden. Öffnen Sie stattdessen den URL https://visualstudio.microsoft.com/de/vs/preview/ und klicken Sie in einem der drei Felder auf Vorschauversion herunterladen – der Autor entscheidet sich in den folgenden Schritten für die kostenlose Variante, da diese für seine Bedürfnisse völlig ausreicht.

Die Microsoft-Webseite reagiert darauf mit dem Anbieten einer neuen Version des Visual Studio Installers, die Sie herunterladen und auf Ihrer Workstation installieren. Das eigentliche Deployment der Entwicklungsumgebung erfolgt dann so, wie Sie es vom Vorgänger erwarten würden – die vom Autor verwendete Konfiguration ist in Abbildung 1 gezeigt.

Abb. 1: Für den Anfang wollen wir uns mit der UWP-Payload zufriedengeben

Abb. 1: Für den Anfang wollen wir uns mit der UWP-Payload zufriedengeben

Die eigentliche Installation nimmt dann wie üblich einige Zeit in Anspruch; dass ThinkPad des Autors lud gute drei Gigabyte aus dem Internet herunter. Nach getaner Arbeit steht die IDE jedenfalls im Startmenü zur Verfügung, starten Sie sie wie gewohnt. Sofort nach dem Start erkennen Sie die erste Neuerung – der Startbildschirm präsentiert sich nun wie in Abbildung 2.

Abb. 2: Die Kacheln zeigen den sozialen Fokus der IDE

Abb. 2: Die Kacheln zeigen den sozialen Fokus der IDE

Wer eine der neuen Optionen anklickt, kann sofort drauflosprogrammieren – von besonderer Bedeutung ist hier, dass Microsoft die Beschaffung von Quellcode aus verschiedenen Quellen so einfach wie möglich gestaltet. Klicken Sie stattdessen auf den weiter unten befindlichen Link Ohne Code fortfahren, startet die IDE leer – sie können das zu bearbeitende Projekt dann beispielsweise über das klassische Menü laden.

Microsoft erlaubt seit längerer Zeit, mehrere verschiedene Versionen von Visual Studio gleichzeitig und nebeneinander auszuführen. Um Entwicklern die Unterscheidung zwischen den verschiedenen Instanzen zu erleichtern, wurde das als Standard ausgewählte blaue Farbschema verändert, wir drucken hier absichtlich keinen Screenshot ab, weil Microsoft die genaue Farbgebung in den verschiedenen Betaversionen immer wieder angepasst hat.

Quasi nebenbei hat Microsoft auch einige Symbole ausgetauscht oder ihre Farben stärker saturiert – auch in der für diese Artikel verwendeten Version wirkte die neue Ausgabe von Visual Studio bunter als ihre Vorgänger.

Kodierung mit künstlicher Intelligenz

Als die ersten IntelliSense-Ergänzungssysteme entwickelt wurden, waren ihre Programmierer in einer vergleichsweise schlechten Situation: Sie waren auf die Wissensbasis beschränkt, die ihnen durch den Sprachstandard zur Verfügung stand. Große Beispielsysteme gab es nicht, quelloffene Codebasen fand man, wenn überhaupt, an Universitäten und im regierungsnahen Bereich.

Das Aufkommen von Systemen wie GitHub war aus Sicht eines an künstlicher Intelligenz interessierten Entwicklers geradezu phänomenal: Tausende Entwickler luden ihren auf diverse Arten entwickelten Code hoch.

BASTA! Spring 2020

Dr. Holger Schwichtenberg

Von .NET Framework zu .NET Core migrieren oder nicht migrieren, das ist hier (nicht die einzige) Frage!

mit Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

Rainer Stropek

C#-8- und .NET-Core-3-Workshop

mit Rainer Stropek (software architects/www.IT-Visions.de)

Adrienne Tacke

Azure Automation: The Good Parts

mit Adrienne Tacke (Adrienne Tacke)

Mit Visual Studio 2019 wendet Microsoft das Konzept des Machine Learning erstmals serienreif in IntelliSense an; bisherige Versuche für Visual Studio 2017 lagen ausschließlich in Form eines von Hand nachträglich zu installierenden Plug-ins vor. Von der Eclipse Foundation gab es (das muss man ehrlicherweise zugeben) allerdings auch schon Gehversuche in diese Richtung.

Leider ist die Demonstration AI-getriebener Dienste seit jeher schwierig. Als Demonstrationskandidat eignet sich am besten ein Konsolenprojekt, das Sie von Hand aus der Startseite erzeugen. Dabei dürfte Ihnen auch auffallen, dass der Projektgenerator an einen klassischen Installationsassistenten angelehnt ist und bei den einzelnen Vorlagen zudem in Form von kleinen Blasen über die zugelassenen Zielplattformen informiert.

Öffnen Sie nach getaner Arbeit jedenfalls eine IntelliSense-Ansicht, die sich auf das entsprechende Objekt bezieht. Ganz oben in der Liste der Vorschläge sehen Sie dann einige mit einem Stern markierte Einträge (Abb. 3). Dabei handelt es sich um Vorschläge, die Visual Studio 2019 aufgrund der integrierten Datenbank als besonders geeignet betrachtet.

Abb. 3: IntelliCode hat seine Schuldigkeit getan

Abb. 3: IntelliCode hat seine Schuldigkeit getan

Microsoft sieht IntelliCode nicht nur als Feature, das Entwicklern einfach so Unterstützung leistet; in der Dokumentation finden sich an mehreren Stellen Hinweise, dass das Produkt über kurz oder lang einen kostenpflichtigen Kollegen erhalten soll, der zusätzliche Funktionen anbietet. Microsoft dürfte damit das Anbieten von Codemodellen meinen, die von Entwicklern oder Unternehmen erzeugte Klassenbibliotheken optimal unterstützen.

Schon zum Zeitpunkt der Drucklegung dieses Artikels gibt es – in der Theorie – die Möglichkeit, erste Experimente in diese Richtung zu unternehmen. Wer eine Klassenbibliothek oder ein ähnliches Projekt in Visual Studio lädt, kann über View | Other Windows | IntelliCode ein Übersichtsfenster laden. In ihm darf der Entwickler danach die Erzeugung eines Applikationsmodells befehligen – beachten Sie, dass dabei Daten in Richtung von Microsofts Serverfarm wandern. Leider ist die betreffende Funktion zum Zeitpunkt der Drucklegung deaktiviert – seien Sie daher auf den entsprechenden Abschnitt der Dokumentation verwiesen, in dem Microsoft weitere Informationen über die Generierung hauseigener Modelle gibt.

Arbeit im Team

Auch wenn Peer Programming mit Sicherheit nicht jedermanns Sache ist, gilt das gemeinschaftliche Beackern von kompliziertem Code seit längerer Zeit als erstklassige Methode zur Reduktion von Problemen. Visual Studio 2019 wird diesem Problem über ein als Live Share bezeichnetes Feature Abhilfe schaffen – auch hier gilt, dass die Funktion in Visual Studio 2017 in Form einer Erweiterung nachrüstbar ist.

Wer – wie der Autor – mit einer aktuellen Version von Visual Studio 2019 arbeitet, muss im ersten Schritt trotzdem eine manuelle Installation befehlen. Klicken Sie dazu in das Suchfenster in der Toolbar und suchen Sie nach „Live Share installieren“. Weisen Sie die IDE daraufhin zur Installation der fehlenden Komponenten an, was zum in Abbildung 4 gezeigten Bild führt.

Abb. 4: Seltsam – eins der herausragenden Features von Visual Studio muss von Hand nachinstalliert werden

Abb. 4: Seltsam – eins der herausragenden Features von Visual Studio muss von Hand nachinstalliert werden

Autorisieren Sie den Installationsprozess, um die IDE zum Herunterladen von rund 120 Megabyte an Informationen zu animieren. Im Rahmen der Installation des Features startet Visual Studio einmal neu; das gerade geöffnete Projekt wird nach dem Start normalerweise automatisch wiederhergestellt.

Die Verwendung der Live-Share-Funktion setzt zudem voraus, dass Sie in Visual Studio mit einem Microsoft-Account angemeldet sind – Redmond nutzt jede Gelegenheit, um Entwickler tiefer in das hauseigene Ökosystem zu ziehen.

Klicken Sie danach auf das Live-Share-Symbol, das sich oben rechts auf dem Bildschirm eingenistet hat. Beim erstmaligen Aktivieren der Funktion erscheint daraufhin eine Warnung, die darauf hinweist, dass die Firewall zum Gewähren des Zugriffs animiert werden muss. Das Gewähren der Zugriffe ist nicht unbedingt erforderlich, aber empfehlenswert – ohne Berechtigungen muss Visual Studio nämlich auch lokale Sessions über einen Microsoft-eigenen Server routen, was zusätzlichen Aufwand verursacht.

Anschließend platziert Visual Studio einen nach dem Schema https://prod.liveshare.vsengsaas.visualstudio.com/join?09DAF03371EFC2D37B27E2FDD2FBE7269D1A aufgebauten Link in der Zwischenablage ihrer Workstation – teilen Sie den URL mit anderen Benutzern, um sie in das Projekt einzuladen. In manchen Fällen öffnet Visual Studio zudem ein Startfenster, das weitere Optionen zur Sitzung anbietet.

Nach erfolgreichem Verbindungsaufbau sehen Sie jedenfalls Cursor-Flyouts, die den Aufenthaltsort der anderen Entwickler in ihrer Datei beschreiben. In der Theorie bietet das IDE auch die Möglichkeit zum Austauschen von Kommentaren und Anmerkungen an – leider existiert dieses Feature momentan nur in der Dokumentation. Nach getaner Arbeit können Sie den Live-Share-Modus auch wieder deaktivieren. Klicken Sie hierzu abermals auf das zum Aktivieren verwendete Element – sein Name lautet nun Freigabe. Entscheiden Sie sich danach für die Option Live Share-Sitzung beenden, um die Teilung Ihrer Codebasis aufzuheben und die Verbindung zu eventuell noch mit dem Rechner verbundenen Personen zu trennen.

Aggressive Überprüfung der Codegesundheit

Als diverse Fachhochschulen mit der Ausbildung im Programmieren von Handcomputern begannen, wunderten sich die Auguren – ein altes Sprichwort besagt, dass die Codequalität von „in der Breite“ ausgebildeten Informatikern im Allgemeinen nicht mit dem mithalten kann, was Autodidakten und Zeloten produzieren. Aus diesem Blickwinkel betrachtet müsste man davon ausgehen, dass .NET-Code teilweise geradezu grauenvoll ist: ein Befund, den der Autor (leider) in seiner Consultingerfahrung immer wieder für wahr befinden musste. Diverse Unternehmen – JetBrain sticht hier besonders hervor – verdienen an dieser Situation seit Jahr und Tag durch den Verkauf von Werkzeugen, die vorhandenen Code analysieren, Schwachstellen identifizieren und bei der Bereinigung assistieren.

Mit Visual Studio 2019 rüstet Microsoft, wenn auch vorsichtig, einige Funktionen nach, die bisher kommerziellen Erweiterungen wie ReSharper vorbehalten waren. Code Cleanup durchsucht Codedateien, um eine Gruppe von klassischen Fehlern zu finden und zu beheben.

Zur Suche nach Problemen wollen wir eine beliebige Solution öffnen – der Autor empfiehlt das aus der Digital-Twins-Serie bekannte occupancyQuickstart, das einige Ärgernisse enthält. Öffnen Sie danach eine der .cs-Dateien, um sich am in Abbildung 5 gezeigten Bildschirm zu erfreuen. Das einst unten rechts befindliche Symbol ist nun Teil der Toolbar geworden.

Abb. 5: Microsoft hat die Platzierung des Cleanup-Elements geändert

Abb. 5: Microsoft hat die Platzierung des Cleanup-Elements geändert

Nach dem Laden einer Datei durchsucht Visual Studio diese (in der Theorie) automatisch nach Verletzungen der Code-Guidelines und bietet Korrekturoptionen an. Das neben dem Hauptsymbol befindliche Pinselpiktogramm erlaubt das Öffnen eines Menüs. Visual Studio 2019 erlaubt Entwicklern das Vorhalten von zwei Profilen, die unterschiedliche Bereinigungsoperationen gegen die Codebasis ausführen. Wir wollen uns im ersten Schritt für die Option Codebereinigung konfigurieren entscheiden, um das in Abbildung 6 gezeigte Fenster auf den Bildschirm zu holen.

Abb. 6: Die Auswahl der anzuwendenden Korrekturen erfolgt von Hand

Abb. 6: Die Auswahl der anzuwendenden Korrekturen erfolgt von Hand

Beachten Sie, dass das Hinzufügen der verfügbaren Korrekturoptionen derzeit nur einzeln erfolgen darf; markieren Sie also die Elemente und klicken Sie auf den nach oben zeigenden Pfeil, um sie in die aktive Konfiguration zu übernehmen. Vom Versuch der Multimarkierung mit Steuerung oder Umschalt ist abzuraten – in Tests des Autors kam es dabei zu ärgerlichen Problemen, die teilweise sogar einen Neustart der IDE erforderlich machten.

Problematisch ist an dieser Stelle, dass Visual Studio gefundene Fehler derzeit nicht markiert. Der einzige Weg, um die Funktion schon jetzt zu nutzen, ist das Anklicken des Pinselpiktogramms. Die IDE wendet daraufhin die diversen Korrekturen automatisch an, und informiert Sie über die geänderten Passagen durch gelbe Hervorhebungen am Rand des Bildschirms. Wer im Microsoft-Beispiel eine Korrekturoption aktiviert, darf sich bei manchen Dateien über ein regelrechtes gelbes Meer erfreuen – hoffentlich rüstet Microsoft die noch fehlenden UI-Elemente bald nach.

Suche in intelligent

Der beste Weg, um eine Gruppe von Entwicklern zum Streiten zu bringen, ist eine einfache Frage: Lässt sich mit der Maus oder mit der Tastatur schneller arbeiten? Microsoft hält sich aus dieser Debatte im Großen und Ganzen heraus; die Suchbox auf der oberen Seite des Bildschirms erhält allerdings trotzdem regelmäßig neue Funktionen.

Wer der IDE einen Suchbefehl erteilt, wird mit dem in Abbildung 7 gezeigten Verhalten konfrontiert. So gut wie alle in Visual Studio ansprechbaren Optionen (das schließt unbedingt auch Menüoptionen ein) lassen sich nun direkt aus der Suchbox heraus aktivieren. Dieses Feature ist unter anderem dann hilfreich, wenn man in der Hektik des Gefechts einmal vergisst, wo sich im Menübaum eine bestimmte Option versteckt hat.

Abb. 7: Dieses Fenster hilft bei kurzfristigen Verwirrungserscheinungen

Abb. 7: Dieses Fenster hilft bei kurzfristigen Verwirrungserscheinungen

Die Suche ist im Hause Microsoft allerdings nicht nur auf Visual-Studio-eigene Elemente beschränkt. In Version 2019 kann die IDE auch im Debugger lebende Elemente als Suchziel betrachten. Platzieren Sie hierzu an einer beliebigen Stelle in einem Programm einen Breakpoint und betrachten Sie das Fenster danach genau (Abb. 8).

Abb. 8: Mit dieser Option können Sie auch in Variablenwerten suchen

Abb. 8: Mit dieser Option können Sie auch in Variablenwerten suchen

Bei sehr komplizierten Programmen besteht naturgemäß das Risiko, dass eine derartige Suche sehr viel Zeit in Anspruch nimmt – in einem Array mit 10 000 Elementen, die je 50 Unterelemente haben, werden sogar einfache Stringvergleiche zu einem großen Rechenprojekt. Visual Studio 2019 begegnet diesem Problem durch das Steuerelement Suchtiefe, über das Sie die maximale Eindringtiefe in den Datenbaum beeinflussen können.

Fehlersuche auf Speed

C++-Entwickler dürfen in Visual Studio seit längerer Zeit auf Breakpoints setzen, die sich nur in bestimmten Situationen aktivieren; der Debugger führt beim Antreffen der Codestelle eine Analyse durch und unterbricht die Ausführung nur bei Erfüllung der Bedingungen.

Wer in Visual Studio 2019 einen Breakpoint in einer .NET-Applikation platziert und diesen rechts anklickt, findet im Kontextmenü eine neue Option namens Bedingungen. Diese öffnet den in Abbildung 9 gezeigten Dialog, in dem Sie einen mehr oder weniger beliebigen Bedingungsstring eingeben dürfen.

Abb. 9: Visual Studio 2019 ist zur Aufnahme einer Bedingung bereit

Abb. 9: Visual Studio 2019 ist zur Aufnahme einer Bedingung bereit

Besitzer der Enterprise-Edition dürfen sich über Time-Travel-Debugging freuen. Microsoft orientiert sich dabei an der in Oszilloskopen seit langer Zeit implementierten Segmented-Memory-Funktion, die die Fehlersuche mit einer zeitlichen Komponente ausstattet. Im Fall von Visual Studio dürfen Sie nach dem Antreffen eines Breakpoints – in eingeschränktem Rahmen – nach vorne und nach hinten schreiten, um den Programmzustand dreidimensional zu analysieren.

Kleine technische Optimierungen

Im Hintergrund hat Microsoft zudem wie immer diverse Anpassungen vorgenommen. Entwickler von Erweiterungen für Visual Studio müssen asynchrones Laden implementieren, da die IDE sonst beim Starten eine Warnung anzeigt. Die diversen SDK-Module zur Erweiterungsentwicklung stehen fortan in einem einzigen NuGet-Paket zur Verfügung, was Supportanfragen von Quereinsteigern reduzieren dürfte.

Wie üblich spendiert Microsoft diverse Performanceverbesserungen. Mit Xamarin arbeitende Entwickler dürfen sich über Beschleunigungen von zwischen 25 und 50 Prozent freuen, was die Debuggingzeiten in manchen Situationen halbiert. Haben Sie .NET 4.8 auf Ihrer Workstation installiert, bietet Microsoft bessere Mehrschirmunterstützung – insbesondere dann, wenn mehrere Monitore mit unterschiedlichen DPI-Einstellungen mit dem Rechner verbunden sind.

Zu guter Letzt ist das bei Microsoft hausintern entwickelte Add-on Clean Solution nun direkt ein Teil der IDE. Die betreffenden Einstellungen finden sich nun unter Projects and Solutions | General, wo Sie die Ansicht des Projekts nach jedem Start zurücksetzen können.

Fazit

Auch wenn man als Entwickler eigentlich keine Wahl hat: Visual Studio 2019 ist ein durch die Bank gelungenes Update, das den Entwickler nicht mit Verschlimmbesserungen nervt. Microsoft hat das IDE mit diversen Erweiterungen für die schöne neue Cross-Plattform-Welt fitgemacht, die Performance erhöht und mit einigen Kniffen Produktivitätssteigerungen realisiert. Schon aus diesen Gründen spricht nicht viel dagegen, der IDE eine Chance zu geben.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

1 Kommentar auf "Die wichtigsten Neuerungen in Visual Studio 2019 auf einen Blick"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Hamigen
Gast

„Beachten Sie bei der Lektüre dieses Artikels zudem, dass sich Visual Studio 2019 derzeit in aktiver Entwicklung befindet.“

Huch?

X
- Gib Deinen Standort ein -
- or -