エディター設定

SharpLsp で絞り込んだ VS Code のコマンドパレット。拡張機能の NuGet、ビルド、F# Interactive、デバッグ、プロファイラーのコマンドが並ぶ

SharpLsp はプロトコル層ではエディターに依存しません。現時点でサポートされ、パッケージとして提供されているクライアントは VS Code です。その他の統合は開発中です。

ナレーション、オリジナル音楽、字幕付き。パッケージ版の拡張機能で VS Code にて収録:ステータスバーからの言語サーバーの再起動、SharpLsp のコマンド、開発ビルド用の設定。早送りの部分は画面上に表示されます。 単独のページで見る

VS Code

SharpLsp は VS Code Marketplace から、Cursor・Windsurf・VSCodium では Open VSX からインストールします。VSIX には Rust ホストと C#/F# サイドカーが含まれるため、SharpLsp を別途インストールする必要はありません。

アクティベーション時に、拡張機能は次を行います。

  1. 互換性のある .NET 10 SDK を検出するか、Microsoft の .NET Install Tool を使って取得する
  2. 同梱バイナリのうち、現在のプラットフォーム向けのものを特定する
  3. 言語クライアントとサイドカーを起動する
  4. ワークスペース内のソリューションまたはプロジェクトを検出する

拡張機能は、ソリューションエクスプローラー、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 向けのパッケージ化された統合は計画中であり、現在のリリース対象ではありません。

リポジトリからビルドする方法は、コントリビュートを参照してください。