Microsoft Build 2020: News zu C# und Visual Studio 2019

Microsoft Build 2020 und Visual Studio 2019_blog

Neue Features zur Programmiersprache C#, Version 9.0, sowie zur integrierten Entwicklungsumgebung Visual Studio. Das sind die News für Entwickler vom ersten Tag der Microsoft-Entwicklerkonferenz Build 2020, die busitec-CEO Henning Eiben mitbringt.

Über 200.000 Teilnehmer*innen hatten sich für die Online-Ausgabe der Entwicklerkonferenz Build von Microsoft registriert. Zum Auftakt berichtete Microsoft-CEO Satya Nadella in seiner Keynote, wie Azure DevOps, Visual Studio (Code) und die Power Platform dazu beitragen, innovative Entwicklungen voranzutreiben. So zählt die Power Platform knapp 3,5 Millionen Entwickler und mehr als 70.000 Organisationen, die diese nutzen.

C#: Neue Features und Verbesserungen

In der Session haben Mads Torgensen, Program Manager für C#, und Dustin Campbell, Principal Software Engineer bei Microsoft, neue Features der Version 9.0 von C# vorgestellt. Alles in allem geht es darum, die Programmiersprache weiterhin einfacher und kompakter zu gestalten. C# strebt laut Torgensen nach „mehr Klarheit und Einfachheit in gängigen Codierungsszenarien“. So wird es zum Beispiel nicht mehr notwendig sein, beim Schreiben einer Konsolen-Anwendung wie folgt zu beginnen:

namespace Foo
{
    public class Programm
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
        }
    }
}

Stattdessen kann man den Code, der sonst in der Main-Methode steht, direkt ohne Klasse und Methode (also mehr „funktional“) schreiben:

Console.WriteLine("Hello World");

Auch wird es Vereinfachungen rund um Klassen und Accessoren geben. Bisher ist es zum Beispiel nicht möglich, Property-Setter so einzuschränken, dass man diese nur im Rahmen eines Object-Initializers aufrufen kann. Mit C# 9 wird das nun durch den Accessor „init“ möglich sein. Zudem können datenorientierte Klassen mit dem Keyword „data“ bezeichnet werden.

Der Anwendungsfall ist der Vergleich von Objekt-Instanzen, bei denen man dann nicht nur die klassische Equality prüfen kann (also zeigen zwei Variablen auch die gleiche Instanz). Es lässt sich zudem prüfen, ob zwei Variablen die gleichen Daten haben (also unterschiedliche Objekt-Instanzen, aber beide mit gleichen Werten). Bisher war das nur möglich, wenn man die Methode „GetHash“ überschrieben hat und dort dann einen eigenen Hash auf Basis der Value-Objects der Klasse gebildet hat.

Visual Studio 2019: Neue Verwaltung der Fenster-Layouts

Web-Entwickler und Autor der Erweiterung von Visual Studio, Mads Kristensen, zeigte Tipps und Tricks rund ums Anpassen von Visual Studio für die Erleichterung und Beschleunigung der täglichen Arbeit. So kann man seit Visual Studio 2019 beispielsweise einstellen, dass beim Starten der Solution Explorer immer komplett „collapsed“ angezeigt wird und die zuletzt geöffneten Tabs nicht wieder geöffnet werden. Das dient dazu, die Startzeit von Visual Studio zu verringern, da insbesondere das Anzeigen vieler Tabs relativ viel Zeit im Hintergrund beansprucht (Roslyn-Compiler, Syntx-Highlighting …).

Optimierung der Startup-Zeit für Visual Studio.

Was ich am interessantesten fand, und bisher auch nicht kannte, ist die Möglichkeit, geöffnete Fenster und deren Anordnung zu speichern. Zudem lassen sich mehrere solcher „Layouts“ definieren und zwischen ihnen wechseln. 

Verwaltung von Fenster-Layouts in Visual Studio 2019.

Visual Studio Online heißt jetzt Codespaces

Vor einiger Zeit wurde in Azure DevOps der Service „VisualStudio Online“ vorgestellt. Wie ich finde, ist das ein grandioser Name, wenn man schon länger mit DevOps arbeitet. Denn: Visual Studio Online ist ungleich Visual Studio Online! Azure DevOps hieß früher mal Visual Studio Online – zu einer Zeit als aus dem On-Premises Team-Foundation-Server ein gehostetes Angebot von Microsoft wurde. Nun hatte man im letzten Jahr diesen Namen „Visual Studio Online“ wieder „entdeckt“ und eine gehostete Version von „Visual Studio“ (genauer gesagt „Visual Studio Code“) unter diesem Namen angeboten. Dieser Name ist nun also durch „Codespaces“ ersetzt worden.

Codespaces für Visual Studio ist die Möglichkeit, sein Development in einer in Microsoft Azure gehosteten VM durchzuführen und somit die Power einer VM zu nutzen, das Ganze aber aus seinem lokalen Visual Studio heraus. Für mich sieht das ein wenig so aus, als wenn ich mit Visual Studio Live Share auf einem anderen Rechner arbeite. Da fällt es mir in meinem Visual Studio (fast) nicht auf, dass das Compilen und Ausführen nicht auf meinem Rechner passiert. (Ich kann mir vorstellen, dass im Hintergrund die gleichen Mechanismen verwendet werden).

Ansonsten stellte Mads Kristensen noch eine Reihe von Extensions sowie einige Preview-Features vor, wie zum Beispiel das neue Git-Fenster, das ab Visual Studio 16.6 als Preview-Funktion verfügbar sein wird. Apropos Preview: Auch in Visual Studio kann man optional einzelne Preview-Funktionen aktivieren.

Aktivieren von Preview-Features.

Schließlich gab es noch einen Überblick dazu, wie App-Insights und Azure Monitor zukünftig in einem Bereich zusammengefasst werden und sich somit auch ganzheitlich Auswertungen erstellen lassen. Das dürfte besonders dann interessant sein, wenn man sowohl Telemetry-Daten aus Anwendungen (App-Insights) und aus der Infrastruktur (Monitor) zusammenfassen will. An einer Beispiel-Anwendung, die über mehrere App-Service-Instanzen verfügt, konnte man erkennen, wie es in einer dieser Instanzen zu Performance-Problemen kommt.


Nach oben scrollen