Skip to content

Nimblesite/SharpLsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SharpLsp

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.

Any Editor

Use the editor you already like. SharpLsp provides the same C# and F# intelligence behind the scenes.

C# + F#

Roslyn powers C# semantics. FSharp.Compiler.Service powers F#. F# is a first-class target, not a bolt-on.

No Lock-In

MIT licensed. No per-seat licenses, no Windows VM requirement, no editor-specific language engine.

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.

Why This Exists

.NET tooling is powerful, but the experience is fragmented:

  • Visual Studio still sets the benchmark for .NET tooling, but it is Windows-only.
  • C# Dev Kit is tied to VS Code, carries enterprise licensing constraints, and does not replace Visual Studio's profiler or performance tooling.
  • Rider is excellent, but its .NET intelligence lives inside Rider and cannot be reused by the rest of your team's editors.
  • F# too often trails behind C# instead of receiving equal first-class tooling.
  • Neovim, Zed, Helix, Emacs, and other editors are left stitching together partial community workflows.

SharpLsp treats language tooling as infrastructure. The editor should be a preference, not the place where the .NET language engine is trapped.

Architecture

SharpLsp is split into three parts:

  • Rust host: owns editor communication, request routing, virtual files, tree-sitter syntax work, and sidecar lifecycle.
  • C# sidecar: hosts Roslyn for semantic C# features.
  • F# sidecar: hosts FSharp.Compiler.Service for semantic F# features.

That split keeps the editor protocol fast and portable while letting the .NET compilers do the semantic work they are built for.

Install

VS Code

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.

Other editors

Rider, Zed, Neovim, Helix, and Emacs support is coming soon.

Documentation

Full documentation is available at sharplsp.dev/docs.

For the full argument behind the project, read Why .NET Needs Editor-Agnostic Tooling.

Contributing

Want to build from source or contribute? See the Contributing guide.

License

MIT