Entwicklungsumgebung: Visual Studio 2019 ist fertig

Seite 2: Mehr Refactoring

Inhaltsverzeichnis

Microsoft erweitert seit einigen Visual-Studio-Versionen den C#-Editor stetig um neue Refactoring-Funktionen, wie Entwickler sie schon aus (kommerziellen) Zusatzwerkzeugen wie DevExpress CodeRush oder JetBrains' ReSharper kennen. In Visual Studio 2019 ist unter anderem neu:

  • das Umwandeln eines anonymen Typs in ein Tupel, die es seit C# 7.0 gibt.
  • das Formatieren von Parameterlisten in Methodendefinitionen und -aufrufen.
  • das Anlegen von Mitgliedern in Interfaces für einzelne oder mehrere Klassenmitglieder.
  • das Bewegen von Dateien in andere Ordner beziehungsweise Umbenennen von Namensräumen, damit der Namensraumbezeichner dem Ordnernamen entspricht.
  • das Hochstufen der mit C# 7.0 eingeführten lokalen Funktionen zu Methoden der Klasse.
  • die Umwandlung des Ausdrucks p = p ?? x mit dem neuen C# 8.0-Operator in p ?? = x.
  • das Einfügen fehlender using-Befehle für Namensräume beim Kopieren und Einfügen von Programmcode.
  • das automatische Schließen von Blockkommentaren durch Eingabe eines Slash (/).

Zudem zeigt jedes Code-Dokument nun in der in der linken unteren Ecke den "Document Health" durch Symbole an. Über den Besen können Entwickler zahlreiche Refactoring-Funktionen auf das ganze Dokument anwenden und ersparen sich somit viele Mausklicks. Durch Profile können sie festlegen, welche Refactoring-Funktionen wirken.

Document Health und Code Cleanup in Visual Studio 2019

Neu nicht nur für C#, sondern auch für Visual Basic .NET ist eine Syntaxfarbhervorhebung für reguläre Ausdrücke. Sofern der reguläre Ausdruck nicht im Konstruktor der Klasse Regex() vorkommt, müssen Entwickler mit der Kommentarzeile language=regex den Compiler darauf hinweisen, die folgende Zeichenkette als regulären Ausdruck zu verstehen.

Methodennamen, die bisher im Standard schwarz im Editor dargestellt wurden, erscheinen nun in Braun. Schlüsselwörter sind in Lila statt in Blau. Entwickler, denen die neue Farbgebung nicht gefällt, können diese unter Tools | Options | C# | Advanced | Use enhanced colors for C# and Basic wieder ausschalten.

Microsoft unterstützt in Visual Studio 2019 den Export von Editoreinstellungen im .editorconfig-Format. Somit kann man in Visual Studio vorgenommene Einstellungen auf andere Werkzeuge übertragen.

Unit Test, die für die man bisher immer den "Text Explorer" öffnen musste, können Entwickler nun direkt aus dem Solution Explorer heraus per rechter Maustaste starten. In den Debugger-Fenstern "Watch", "Local" und "Auto" gibt es eine Suchfunktion über Bezeichnernamen und Werte, die auch ein Unterobjekt mit einer wählbaren Suchtiefe umfasst. Über die Einstellung "Break when value changes" können .NET-Core-Entwickler nun erreichen, dass der Debugger einhält, wenn ein Wert in einem Objekt sich ändert. Auch von einer weiteren Änderung profitieren nur .NET-Core-Entwickler: .NET-Core-basierte Konsolenanwendungen schließen nicht mehr automatisch, wenn sie im Debugger gestartet wurden, sondern melden "Press any key to close this window".

Die in Visual Studio 2019 im Watch-Fenster neu eingeführten Formatierungskennzeichner wie "raw", "d" (für Decimal), "h" (für Hexadezimal), "results" (für Ausführung von Ausdrücken) und "nq" (No Quotes – Zeichenkette ohne Anführungszeichen), die Entwickler durch Komma getrennt hinter dem Bezeichner angeben dürfen, funktionieren hingegen auch für klassische .NET-Anwendungen.

Formatierungskennzeichner im Watch-Fenster

Komplett überarbeitet ist auch die Ansicht und Bearbeitung der Work Items von Azure DevOps Server (ehemals Team Foundation Server) beziehungsweise der Azure DevOps Services (ehemals Visual Studio Team Services). Anstelle der Baumdarstellung und des Eingabeformulars treten nun Listen, die zwar farbenfroher und übersichtlicher sind, aber vorerst deutlich weniger können. Die neue Ansicht gibt es vorerst nur für Git-basierte Azure DevOps-Repositories. Entwickler könnten die alte Ansicht zurückholen im Menü Tools | Options | Work Items.

Die neue Work-Item-Ansicht gibt es vorerst nur für Git-basierte Azure-DevOps-Repositories