Open-source, editor-agnostic .NET language tooling for C# and F#.
Available today in VS Code. Rider, Zed, Neovim, Helix, and Emacs support is on the way.
SharpLsp is building the .NET development stack that should already exist: Visual Studio/Rider-grade language intelligence, solution awareness, diagnostics, refactoring, package management, debugging, and profiling without forcing every developer into the same IDE.
.NET tooling is powerful, but the experience is fragmented:
SharpLsp treats language tooling as infrastructure. The editor should be a preference, not the place where the .NET language engine is trapped.
SharpLsp is split into three parts:
That split keeps the editor protocol fast and portable while letting the .NET compilers do the semantic work they are built for.
Install the SharpLsp extension from the VS Code Marketplace. The extension ships with the SharpLsp engine and both sidecars — no Rust toolchain or separate install required.
Rider, Zed, Neovim, Helix, and Emacs support is coming soon.
Full documentation is available at sharplsp.dev/docs.
For the full argument behind the project, read Why .NET Needs Editor-Agnostic Tooling.
Want to build from source or contribute? See the Contributing guide.
$ claude mcp add SharpLsp \
-- python -m otcore.mcp_server <graph>