エディター設定
SharpLsp はプロトコル層ではエディターに依存しません。現時点でサポートされ、パッケージとして提供されているクライアントは VS Code です。その他の統合は開発中です。
VS Code
SharpLsp は VS Code Marketplace から、Cursor・Windsurf・VSCodium では Open VSX からインストールします。VSIX には Rust ホストと C#/F# サイドカーが含まれるため、SharpLsp を別途インストールする必要はありません。
アクティベーション時に、拡張機能は次を行います。
- 互換性のある .NET 10 SDK を検出するか、Microsoft の .NET Install Tool を使って取得する
- 同梱バイナリのうち、現在のプラットフォーム向けのものを特定する
- 言語クライアントとサイドカーを起動する
- ワークスペース内のソリューションまたはプロジェクトを検出する
拡張機能は、ソリューションエクスプローラー、NuGet ブラウザー、プロファイラー、デバッガー統合、テスト CodeLens、F# Interactive コマンド、ビルドコマンド、ステータス/出力ビューも提供します。
ワークスペースの信頼
信頼されていないワークスペースでは、SharpLsp は同梱されたバイナリだけを実行します。sharplsp.lspPath、サイドカーのパス、追加のサーバー引数、FSI 引数、デバッグアダプターのパスなど、実行ファイルの選択や引数の挿入に使えるワークスペース設定は、ワークスペースが信頼されるまで無視されます。
開発用カスタムバイナリ
信頼されたワークスペースでは、sharplsp.lspPath、sharplsp.csharpSidecarPath、sharplsp.fsharpSidecarPath の各設定で、ローカルの開発ビルドを拡張機能に指定できます。同梱されたリリースバイナリを使う場合は空のままにしてください。
Zed
Zed では、Zed 自身の C# 拡張機能と F# 拡張機能と並べて、このリポジトリの開発用拡張機能で SharpLsp を動かします。インストール方法、他の C# と F# のサーバーではなく SharpLsp を選ぶ方法、設定、トラブルシューティングは Zed での SharpLsp で説明しています。
その他の LSP クライアント
一般的なエディターは、stdio を介してホストと LSP 3.17 で通信できます。各リリースでは、ホストと両方のサイドカーを同梱したプラットフォーム別のスタンドアロンサーバーアーカイブと、それを起動する Rider プラグイン(sharplsp-rider.zip)を公開しています。Neovim、Helix、Emacs 向けのパッケージ化された統合は計画中であり、現在のリリース対象ではありません。
リポジトリからビルドする方法は、コントリビュートを参照してください。