SharpLsp を始める

SharpLsp は、1 つの Rust ホストから C# と F# のセマンティックエンジンを利用する、オープンソースの .NET 向け Language Server Protocol 実装です。プロプライエタリな言語サービスやユーザー単位のライセンスなしで、Visual Studio や Rider に匹敵するツールの実現を目指しています。現在も活発に開発されており、現時点でサポートされるエディター統合は VS Code です。

ナレーション、オリジナル音楽、字幕付き。VS Code で Shop デモのソリューションを読み込む SharpLsp:並んだ C# と F# のプロジェクト、F# コンパイラーによる F# のホバー、Roslyn による C# の補完、そしてプロファイラーのプロセス ビュー。 単独のページで見る

インストール

VS Code

VS Code Marketplace から SharpLsp 拡張機能をインストールします。Cursor・Windsurf・VSCodium では Open VSX からインストールできます。

VSIX には sharplsp ホストと両方の .NET サイドカーが同梱されています。Rust ツールチェーンや SharpLsp バイナリを別途用意する必要はありません。.sln、.slnx、.csproj、.fsproj のいずれかを含むワークスペースを開くと、拡張機能がサーバーを起動します。

.NET の自動セットアップ

  • .NET 10 SDK

    SharpLsp が MSBuild とコンパイラーサービスを利用するには SDK が必要です。アクティベーション時に、拡張機能が互換性のある SDK を検出するか、Microsoft の .NET Install Tool に取得を依頼します。言語サービスと F# Interactive は、dotnet があらかじめ PATH 上になくても、取得した SDK を使用できます。ビルド/テストコマンドと一部の NuGet 操作は、引き続き dotnet を名前で起動するため、PATH 上にあることが必要です。

SharpLsp は初回起動時にインタラクティブ チュートリアルを開きます。ステップごとの短い映像(F# が先)を見ながら、自分のエディターでホバー、補完、定義へ移動、コードの修正を試せます。

現在のリリースには、C# と F# の補完、ホバー、ナビゲーション、診断、シンボル、コードアクション、名前変更、セマンティックトークン、インレイヒントに加え、ソリューションツール、NuGet ワークフロー、デバッグ、プロファイリングが含まれます。.NET Framework 4.6.2〜4.8.1 を対象とするプロジェクトも、すべての OS で同じ言語機能を利用でき、Windows ではデスクトップ CLR で実行・テストもできます。一部の機能はまだ部分的な実装です。現在の制限事項は各ページで説明しています。

その他のエディター

サーバーは可能な限り標準 LSP を使用します。各 GitHub リリースではスタンドアロンのサーバーアーカイブと Rider プラグインを公開しており、Zed では開発用拡張機能で SharpLsp を動かせます。Neovim、Helix、Emacs 向けのパッケージ化された統合はまだリリースされていません。