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