Microsoft's Closed‑Source C# Extension for VS Code: Impact on .NET Developers
Microsoft announced a proprietary C# extension for Visual Studio Code to replace the open‑source OmniSharp, sparking criticism from developers like Miguel de Icaza, while promising tighter integration with Visual Studio features, raising concerns about .NET openness and the future of VS Code's C# tooling.
According to Microsoft product manager Tim Heuer’s post on June 16, Microsoft will introduce a closed‑source C# extension for Visual Studio Code as a replacement for the existing open‑source OmniSharp extension.
This announcement triggered strong opposition, especially from Miguel de Icaza of the GNOME, Mono and Xamarin teams, who said, “Microsoft will continue to lock .NET by inserting a proprietary extension, undermining an active open‑source project, which is very disappointing.” Icaza, who left Microsoft in March, voiced his concerns publicly.
The current VS Code C# extension, OmniSharp, is open source but does not match the level of language support provided by Visual Studio.
Microsoft controls two of the most popular development environments today: the open‑source VS Code and the proprietary Visual Studio. While VS Code is free, many developers feel that key extensions are not as robust as those in Visual Studio. Although the .NET runtime and compiler are open source, the .NET debugger is not, leading to warnings such as “You can only use the Microsoft .NET Core debugger (vsdbg) with Visual Studio, Visual Studio Code, or Visual Studio for Mac.”
Microsoft appears determined to retain a commercial advantage for its tools while still leveraging open source for contributions, feedback, and adoption—a delicate balance.
OmniSharp’s specific plan is not entirely negative for VS Code .NET developers. The project will stop using the VS Code Language Server Protocol (LSP) and will instead create a new closed‑source LSP tool host that supports an updated OmniSharp and features like proprietary IntelliCode, also used in Visual Studio. This should bring C# coding assistance in VS Code closer to the experience in Visual Studio.
Heuer emphasized that the Razor and C# LSP implementations (Roslyn and Razor) will remain open source, and the VS Code C# extension (ms‑dotnettools.csharp) itself will stay open source.
Microsoft has already communicated with the independent OmniSharp team, including maintainer David Driscoll, who said the move “didn’t catch us off guard” and that migrating to the LSP model will enable richer functionality. Driscoll expressed reservations, noting that Microsoft has previously made decisions favoring Visual Studio, such as removing .NET Hot Reload debugging from the open‑source code.
A similar situation occurred when the open‑source Python extension was replaced by the closed‑source Pylance extension.
Microsoft’s risk lies in potentially reducing .NET usage by tightening control over parts of the platform, even though C# remains popular. Developers still have many alternatives, including TypeScript/JavaScript, Dart, Go, and Java.
This didn’t catch us off guard at all
Overall, the shift reflects Microsoft’s strategy to balance open‑source collaboration with proprietary tooling, a move that could shape the future of .NET development on VS Code.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
