Microsoft plans a serious change to the C# extension for its Visual Studio Code editor, a change to utilizing the Language Server Protocol (LSP) to allow extra superior capabilities together with closed-source experiences similar to IntelliSense.
The C# extension itself, and the LSP implementations for C# and Razor, will stay open supply, Microsoft mentioned.
The C# extension has been powered from the start by .NET instruments maker OmniSharp, which has leveraged obtainable APIs and protocols. Within the meantime, LSP has turn out to be the usual interprocess communication mechanism for contemporary developer instruments, mentioned Microsoft’s Tim Heur, program supervisor for .NET and Visible Studio, in an announcement this week in OmniSharp’s GitHub repo.
Transferring ahead, plans name for the C# extension to speak solely utilizing LSP whereas updating the prevailing OmniSharp part to speak through LSP as effectively. Using LSP will permit Microsoft to deliver new options to the C# extension, together with closed-source experiences similar to IntelliCode AI-assisted growth capabilities.
Microsoft mentioned it’s going to create an LSP instruments host part that integrates open supply parts such because the Roslyn compiler and Razor instruments with closed-source parts to supply a wider array of device capabilities. “We imagine that transferring the C# extension to LSP will assist us accomplish our purpose of making an extensible and versatile tooling atmosphere which simply integrates new experiences into C# for VS Code,” Heur mentioned.
Customers of the C# extension will be capable to select between the present open supply OmniSharp-powered system or the brand new LSP instruments host to offer entry to extra experiences. The LSP instruments host is not going to be open-sourced. Subsequent steps embody:
- Updating the C# for VS Code extension to speak with OmniSharp Server through LSP by default.
- Switching the C# extension to make use of the LSP instruments host by default and to permit customers to decide on another language server.
- Delivery the extension with the brand new defaults bundled with extra options out of the field.
- Transferring the extension from github.com/OmniSharp/omnisharp-vscode to github.com/dotnet/vscode-csharp, the place Microsoft will preserve it.
Copyright © 2022 IDG Communications, Inc.