Laden...
News Headline: Endlich offizieller C# Support in VSCode - oder doch nicht?
Endlich offizieller C# Support in VSCode - oder doch nicht?

Eines der größten Makel für die .NET- und C#-Community ist, dass die Einstiegshürde gegenüber anderen Sprachen wie Java, Go und Python aus Sicht der Entwicklung relativ hoch ist: es gibt keine offizielle Unterstützung von C# in VSCode.

Der aktuell vorhandene C# Support in VSCode erfolgt über OmniSharp; ein Community Open-Source Projekt. Das ist zwar leistungsfähig, in Sachen Features jedoch nicht ganz so reich wie das offizielle Roslyn-Tooling.

Es ist davon ausgehen, dass Microsoft bewusst keine offizielle, freie Unterstützung von C# in VSCode will, was auch immer wieder auf Twitter zwischen den Zeilen zu lesen ist und durchaus auch das .NET- und C#-Team nicht sonderlich toll findet; besonders weil viele aus dem .NET Team selbst auf MacOS unterwegs sind und daher kein Zugriff auf Visual Studio, das Win32-only ist, haben.
Die Befürchtung ist wohl, dass man damit rechnet, dass Visual Studio-Lizenzen nicht mehr so gut verkauft werden können.

Das Resultat ist: JetBrain's Rider hat - überwiegend zurecht - immensen Erfolg.

C# Dev Kit

Microsoft hat vor wenigen Tagen durch die Bekanntgabe des C# Dev Kit die Gerüchte bestätigt, dass es in Zukunft eine offizielle Unterstützung für C# in VSCode geben wird.

Es handelt sich dabei um eine Erweiterung, die auf die Standard .NET-Kompilierungswerkzeuge wie Roslyn zurückgreifen darf, was andere, Nicht-Microsoft Tools aufgrund von Lizenzeinschränkungen nicht dürfen.

Unterstützt werden folgende Projekttypen:

  • ASP.NET Core App
  • ASP.NET Core Web API
  • ASP.NET Core MVC Web App
  • Blazor Server App
  • Blazor WebAssembly App
  • Console App
  • ...

Und endlich: das Dev Kit ermöglicht es, dass in VSCode nicht nur eine Ordneransicht existieren wird, sondern - wie man es aus Visual Studio kennt - auch das Arbeiten mit Solutions ermöglichen wird.

Wir erhalten also ein performanteres Tooling, verglichen mit der großen IDE Visual Studio.

Die Hürde bleibt: die Lizenz

Anders als OmniSharp wird das C# Dev Kit jedoch nicht vollständig kostenlos zu nutzen sein, sondern man benötigt - stand heute - eine Visual Studio-Lizenz, um das C# Dev Kit in VSCode nutzen zu können.

Was man in der Einleitung und in der Vorstellung nicht erkennen kann, jedoch im Kleingedruckten der FAQ steht: das C# Dev Kit übernimmt die Lizenzeinschränkungen von Visual Studio. Es wird eine Community License geben, was zumindest die Hürde für private Einsteiger mindert, da diese mit Auflagen dann doch kostenlos zu nutzen ist - alle anderen unterliegen dem gleichen Lizenzmodell wie Visual Studio.

C# Dev Kit is available via a Community License for those who qualify and is also included as another addition to existing Visual Studio Subscriptions. This means that C# Dev Kit is available to use today for developers with active Visual Studio subscriptions.
For personal, academic, and open-source projects, the C# Dev Kit can be used at no cost. For commercial purposes, teams of up to 5 can also use the C# Dev Kit at no cost. For 6+ developers, those users will need a Visual Studio Professional (or higher) subscription. The C# Dev Kit is also included in GitHub Codespaces and Microsoft Dev Box, so users of those products have access to the C# Dev Kit at no additional charge.

Dies ist beim Start von VSCode auch zu bestätigen, in dem man sich in VSCode mit dem Benutzer einloggt, der über die jeweilige Visual Studio-Lizenz verfügt.

Böse ausgedrückt hat man sich den C# Support in VSCode einverleibt und eine Lizenz über die freie C# Entwicklung gestülpt.
Andere Sprachen und Runtimes haben daher weiterhin den großen Vorteil der freien bzw. deutlich kostengünstigeren Entwicklungsumgebungen, was deren Attraktivität daher auch steigen lässt.


Endlich erhalten wir einen qualitativ hochwertigen Support von C# in VSCode, wie wir es aus Visual Studio kennen.
Die Chance C# bzw. .NET offener zu gestalten und die Lizenz dem anzupassen, was man von anderen Toolings kennt, um konkurrenzfähig zu sein, hat man jedoch leider verpasst.

Schade.