Microsoft has introduced a pre-release of C# Dev Kit, an extension to Visual Studio Code that brings many new features for developing with C# but which requires a paid license for enterprise use.
The C# runs on Windows, Mac and Linux. It improves on the previous C# extension with features including a multi-project solution explorer, a new test explorer, fast syntax highlighting and error detection using a recently updated Language Server Protocol (LSP) and a “IntelliCode for C# Dev Kit” extension that provides AI-assisted code completion and prediction.
According to principal program manager Tim Heuer, the time to show IntelliSense on a benchmark solution with 40 projects and 500,000 lines of code has improved from 38 seconds to 3.5 seconds.
The new extension has been welcomed by C# developers from a technical perspective, since many felt that the previous C# support in VS Code was substandard. Reviews on the old extension include one that states: “if the intent of making this extension is to switch to Visual Studio, then, congratulations, you’ve made an excellent job.” By contrast, a review of C# Dev Kit states “awesome, this makes VSCode usable and nearly there as a replacement for VS, it’s definitely usable now as a main editor for .NET.”
There is one awkward area though, which is that full use of C# Dev Kit requires the user to sign in and have a Visual Studio license. The terms of the license allow free commercial use for individuals and up to five developers in small businesses, but enterprises (defined as organizations with more than 250 PCs or over $1million annual revenue, must have a paid Visual Studio Professional or Enterprise license, or a GitHub Codespaces subscription.
In mitigation, Heuer said here, regarding the base C# extension on which C# Dev Kit is dependent, that “we decided to keep all components for this extension (including the LSP host) fully open source. We are committed to keeping the C# Extension and other components like Razor and Roslyn open source.” The base extension has a permissive MIT license. This means that the use of the greatly improved LSP does not require a paid license. Heuer’s post was warmly received.
Microsoft is in an unusual position with regard to .NET and VS Code, because the company also has an IDE business based on Visual Studio, and incidents such as the controversy over hot reload debugging support in VS Code show there is internal conflict between the desire to protect Visual Studio sales on the one hand, and the need to promote .NET as a cross-platform, open source ecosystem. There is a Visual Studio for Mac, but it is not equal to its Windows equivalent.