Seit Microsofts Entscheidung, Visual Studio unter Continuous Delivery weiterzuentwickeln, bekommen Nutzer:innen der IDE regelmäßig kleine Updates mit diversen Helferlein. Hier ein Überblick aktueller Neuerungen.
Schon in der Einleitung sei angemerkt, dass Microsoft für die Suche nach Neuerungen eng mit der Community zusammenarbeitet. Unter [1] findet sich eine umfangreiche Issue-Verwaltung, in der Benutzer:innen ihre Wünsche an die IDE anmelden dürfen. Die folgenden Experimente wurden mit einer unter Windows 11 laufenden Version von Visual Studio 2022 17.4 durchgeführt.
Neue Versionen von Visual Studio deployen sich normalerweise unter Nutzung des Installer. Wer in den Optionen unter Environment | Product Updates die Checkbox Always update on close aktiviert, bekommt die Aktualisierungen fortan ohne große Eingriffe.
Apropos Updates: In Version 17.4 führte Microsoft diverse Aktualisierungen von Codepfaden durch, die in Analysen als Flaschenhals identifiziert wurden. Das führte beispielsweise zum in Abbildung 1 gezeigten immensen Performancesprung bei der Suche in Solutions.
Apropos Suche: Die Suche nach Rechtschreibfehlern plante Microsoft für Version 15.2, muss sie aber um eine Version verschieben. Fertig wurde indes der neue Suchassistent, der sich in den Einstellungen über die Option Tools | Manage Preview Features | New Visual Studio Search experience (restart required) freischalten lässt. Nach dem obligaten Neustart der IDE fällt auf, dass der Suchassistent nun hinsichtlich der Anzahl der angezeigten Ergebnisse nicht mehr beschränkt ist und außerdem auch in C#- und C++-Code sucht.
Die Zeit behält Microsoft mit dem Timestamp-Feature im Blick. So gut wie alle Logfenster der IDE weisen nun das in Abbildung 2 gezeigte Uhr-Symbol auf. Wer die Stoppuhr aktiviert, bekommt neben den einzelnen Logging-Ausgaben immer einen Zeitstempel eingeblendet. Der hilft beim Nachverfolgen der für die einzelnen Operationen erforderlichen Zeit.
Im Code Coverage-Fenster realisiert Microsoft einige neue Funktionen, die bei der Überwachung der Effizienz automatischer Tests helfen. Leider stehen sie zum Zeitpunkt der Drucklegung dieses Artikels nur für die .NET-Entwicklung zur Verfügung.
Neben der Suche nach Namen ist es nun auch möglich, die angezeigten Elemente nach folgendem Schema in Bezug auf den Grad ihrer Abdeckung durch Testfälle zu beschränken:
Show 100% fully covered
Show (>0% && < 100%) partially covered
Show 0% covered
Wer mit einer klassischen Maus arbeitet und auf Marble Mouse und Notebook verzichtet, assoziiert das Mausrad instinktiv mit Auf- und Abwärtsbewegungen. Da insbesondere im Bereich der Webentwicklung sehr lange Codezeilen zum schlechten Ton gehören, passt sich Microsoft dem Zeitgeist an. Durch Halten der SHIFT-Taste lässt sich Code fortan auch horizontal scrollen.
Eine weitere scrollingbezogene Neuerung ist die Option Show the nested current scopes during the scroll at the top of the editor, die unter Options | Text Editor | General | Sticky Scroll auf Aufmerksamkeit wartet. Sie realisiert einen an Tabellenkalkulationen erinnernden Sticky-Modus, in dem Visual Studio beim Scrollen durch Dateien Methodenheader und Co. an der Oberseite des Bildschirms antackert. Sinn der Anpassung ist, dass man beim Scrollen durch Codedateien über den Kontext des gerade angezeigten Codes informiert bleibt.
In der Cloud lebende Dienste lassen sich bequemer ansprechen, wenn man sie per Port-Forwarding in das lokale Portkomplement der Workstation mappt. Microsoft experimentiert mit dieser auf Redmondisch als „Dev Tunnels“ bezeichneten Funktion seit einiger Zeit und hat sie per Version 17.4 für Nutzer:innen von ASP.NET Core und Azure Functions als allgemeines Technical Preview freigegeben.
Zur Aktivierung müssen Sie im ersten Schritt unter Tools | Options | Environment-Preview Features die Checkbox Enable Dev Tunnels for web applications aktivieren. Danach sind die unter [4] im Detail beschriebenen Anpassungen an den Projektsteuerungsdateien erforderlich, um den Tunnelbetrieb aufzunehmen.
Markdown hat sich als Quasistandard für Rich-Text-artige Dokumentation im Entwicklerbereich etabliert. Wer die Preview-Funktion Markdown language service aktiviert und kein Markdown-Plug-in in seiner VS-Installation beheimatet, bekommt beim Öffnen einer .md-Datei fortan die in Abbildung 3 gezeigte und an Android Studio erinnernde Bearbeitungsansicht präsentiert.
Textbezogene Funktion Numero zwei ist der Textvisualisierer im Debugger. Er analysiert die folgenden fünf Encoding-Schemata, um Entwickler:innen sowohl bei der Validation als auch beim Verständnis der im vorliegenden String befindlichen Informationen zu helfen:
Base64 Encode
Base64 Decode
URL Encode
URL Decode
JWT Decode
Ein Blick auf die soeben gezeigte Liste demonstriert, dass Microsoft die Bedürfnisse von Webentwickler:innen in Visual Studio nicht außer Acht lässt. Der in Visual Studio Code seit einiger Zeit zur Verfügung stehende und gut beleumundete JavaScript Linter steht laut [6] ab sofort auch in der Vollversion von Visual Studio bereit.
Angesichts der Entscheidung des VSC-Entwicklungsteams, die eigentliche Linter-Logik in einen separaten Language Server auszulagern, war die Integration vergleichsweise einfach; auf Seiten der Entwickler:innen ist allerdings insofern etwas Mithilfe erforderlich, als ein npm-Paket heruntergeladen werden muss.
Wer Visual Studio zur Erzeugung von C++-Applikationen einsetzt, darf sich ebenfalls auf Neuerungen freuen. Neben diversen Erweiterungen im Bereich des Editors (Stichwort: besseres go to definition) gibt es einen Asset Inspector, der aus Visual Studio 2022 heraus die Analyse von Creatives erlaubt, die für die Unity-Engine vorgesehen sind.
Entfernte Zielsysteme, die über den Connection Manager verbunden sind, offenbaren die Inhalte ihres Dateisystems fortan über den Remote File Explorer, der nach Aktivierung in der Liste der Preview-Funktionen über die Option View | Remote File Explorer zur Verfügung steht. Selbiges gilt für die Ausführung von Dev-Containern – unter Cross Platform | Dev Containers kann nun festgelegt werden, dass die Ausführung von Container-Payloads auf einer anderen Maschine und nicht am VS-Host erfolgen soll.
Zu guter Letzt ist es mittlerweile möglich, im Serial Monitor von Visual Studio mehrere Ports gleichermaßen im Blick zu behalten. Diese Funktion ist insbesondere bei der Arbeit mit Embedded-Systemen sehr wertvoll.
(Embedded-)Entwickelnde sind Gewohnheitstiere. Wohl als Lehre aus den Erfahrungen mit Office 2007 und dem Ribbon-GUI werden Änderungen mit Vorsicht eingeführt: Alle Optionen, die sich ernsthaft in den Workflow einmischen, aktivieren sich erst auf Zuruf.
Nachteil dieser Vorgehensweise ist, dass die mit diesen Funktionen einhergehenden (oft beträchtlichen) Performancesteigerungen so zumindest teilweise an den Normalentwickler:innen vorbeigehen. Der Autor hofft, dass die hier gezeigten Funktionen den einen oder die andere von Ihnen zum Freischalten einiger Komfortfunktionen animieren.
Tam Hanna befasst sich seit der Zeit des Palm IIIc mit der Programmierung und Anwendung von Handcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenewsdienste zum Thema und steht für Fragen, Trainings und Vorträge gern zur Verfügung.
[1] https://developercommunity.visualstudio.com/home
[2] https://devblogs.microsoft.com/visualstudio/visual-studio-2022-performance-enhancements-17-4/
[3] https://devblogs.microsoft.com/visualstudio/whats-new-in-visual-studio-productivity/
[5] https://devblogs.microsoft.com/visualstudio/write-markdown-without-leaving-visual-studio/