Skip to content

Add csharp-ls language server#6205

Open
rbstp wants to merge 1 commit into
zed-industries:mainfrom
rbstp:add-csharp-ls
Open

Add csharp-ls language server#6205
rbstp wants to merge 1 commit into
zed-industries:mainfrom
rbstp:add-csharp-ls

Conversation

@rbstp
Copy link
Copy Markdown

@rbstp rbstp commented May 23, 2026

csharp-ls is a lightweight F#-based language server for C#, distributed as a dotnet tool NuGet package. It is unrelated to the deprecated SofusA/csharp-language-server wrapper referenced by zed-extensions/csharp#11 and zed-extensions/csharp#57 ; the upstream project markets itself as csharp-ls precisely to reduce that confusion.

Existing csharp extension

The existing csharp extension provides OmniSharp and Roslyn, but it does not provide csharp-ls. csharp-ls is a different language server that provides a much faster cold start and feels faster generally.

The publishing guidelines say: "only create a new one if upstream is unresponsive." zed-extensions/csharp#77 (opened 2026-05-04) added csharp-ls as a third option in the existing extension and has had no maintainer engagement for 3 weeks. Submitting here as a standalone extension lets users opt into csharp-ls without further blocking on that upstream review.

Install model

The extension is detect-only, it does not bundle or auto-download the server. If csharp-ls is not found on PATH, the extension surfaces a hint pointing at:
dotnet tool install --global csharp-ls

Evidence

I have been using it locally for a few weeks without any issues, and it is much snappier.
csharp-ls running in Zed

@cla-bot cla-bot Bot added the cla-signed label May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant