csharp-ls 0.22.0

dotnet tool install --global csharp-ls --version 0.22.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local csharp-ls --version 0.22.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=csharp-ls&version=0.22.0
                    
nuke :add-package csharp-ls --version 0.22.0
                    

Description

csharp-ls brings advanced language features like code completion, diagnostics, and refactoring to your editor for C# projects. It supports projects targeting older .NET SDK versions including .NET Core 3, .NET Framework 4.8, and potentially earlier ones.

See FEATURES.md for a more detailed discussion regarding features and customization provided with csharp-ls.

See CHANGELOG.md for the list of recent improvements/fixes.

See TROUBLESHOOTING.md for server troubleshooting and diagnostics.

csharp-ls is MIT-licensed (see LICENSE) and is provided with no warranty of any kind.

Quick Start

csharp-ls requires the .NET 10 SDK or later to be installed on your machine. Please head to Download .NET to download it.

The server can be installed as csharp-ls dotnet tool:

dotnet tool install --global csharp-ls

Once installed, your editor's LSP client should automatically detect and start csharp-ls when opening C# project files.

Settings

Configuration

  • csharp.solution - solution to load, optional

  • csharp.applyFormattingOptions - use formatting options as supplied by the client (may override .editorconfig values), defaults to false

Command Line Arguments

USAGE: csharp-ls [--help]
                 [--version]
                 [--loglevel <level>]
                 [--solution <solution>]
                 [--debug]
                 [--diagnose]
                 [--features <features>]

OPTIONS:

    --version, -v         display versioning information
    --loglevel, -l <level>
                          set log level, <trace|debug|info|warning|error>; default is `info`
    --solution, -s <solution>
                          specify .sln file to load (relative to CWD)
    --debug               enable debug mode
    --diagnose            run diagnostics
    --features, -f <features>
                          enable optional features, comma-separated: [metadata-uris, razor-support]
    --help                display this list of options.

See csharp-ls --help.

Experimental Client Capabilities

Decompiled Code/Metadata URIs

csharp:/ metadata URIs can be enabled by setting the experimental.csharp.metadataUris client capability to true.

Razor (.cshtml) support

Can be enabled by passing in the razor-support feature to the server using the --features command line flag.

Clients

csharp-ls implements the standard LSP protocol to interact with your editor. However, there are some features that require a non-standard implementation. This is where editor-specific plugins can be helpful.

Notable clients:

Acknowledgements

Alternatives

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.22.0 25,999 2/5/2026
0.21.0 85,944 1/2/2026
0.20.0 25,537 11/13/2025
0.19.0 105,869 8/20/2025
0.18.0 30,393 6/23/2025
0.17.0 19,494 4/30/2025
0.16.0 37,165 12/24/2024
0.15.0 50,370 8/15/2024
0.14.0 16,315 6/23/2024
0.13.0 17,890 5/8/2024
0.12.0 7,548 4/22/2024
0.11.0 31,875 1/21/2024
0.10.0 19,583 11/4/2023
0.9.0 18,802 8/12/2023
0.8.0 17,884 5/6/2023
0.7.1 6,635 4/8/2023
0.7.0 3,580 3/25/2023
0.6.1 6,297 2/26/2023
0.6.0 8,164 12/30/2022
0.5.7 9,219 10/9/2022
Loading failed