Skip to content

An update on the LSP-powered, Visual Studio Code C# Extension #5708

Closed
@timheuer

Description

@timheuer

Last summer, the .NET team announced a plan to evolve the .NET Tooling ecosystem and incorporate more capabilities into Visual Studio Code. We appreciated your responses to that announcement, which were essential for us to determine the best path for improving the C# Extension and overall C# dev experience in VS Code. Building on that initial announcement and your feedback, today we released an update to the C# Extension that creates a more performant, reliable C# experience in VS Code by powering it with a new Language Server Protocol (LSP) server. This server communicates by default to Roslyn and Razor but allows users to choose an alternative language server. This updated, open-source extension is available today in the VS Code Marketplace exclusively as a pre-release version of the C# extension. The move of the repo and open sourcing of the extension code will take place in one week, on June 13. We are coordinating with a few individuals and teams to get the smoothest repo move possible.

Based on the community feedback from last year’s initial announcement, 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, and we are committed to further improving the quality and reliability of this extension over time.

As part of this effort, we also moved the C# for VS Code extension from github.com/OmniSharp/omnisharp-vscode to github.com/dotnet/vscode-csharp (in progress so not yet available). We will continue to monitor this new repo for feedback and provide regular updates to the extension until we are confident enough in the quality and feature capabilities to remove the Preview label. To get started using the new features, you must opt in to “Switch to Pre-release Version,”, which will install the new LSP-based extension.

csdevkit-switchtoprerelease

You can also choose to revert from the LSP version to the OmniSharp version of the C# extension by first uninstalling the C# Dev Kit and then setting the dotnet.server.useOmnisharp to true. This will require a restart but will revert to using the original OmniSharp-powered extension. In the coming releases, the team is working to update the extension so that it can communicate with OmniSharp Server via LSP. Note that using the new C# Dev Kit extension requires the LSP-based extension to be running to work.

Thanks for sharing your feedback so far! We look forward to continuing to improve and expand on your C# development experience in VS Code and Visual Studio.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions