SharpLsp を始める

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

インストール

VS Code

VS Code Marketplace から SharpLsp 拡張機能をインストールします。

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 上にあることが必要です。

現在のリリースには、C# と F# の補完、ホバー、ナビゲーション、診断、シンボル、コードアクション、名前変更、セマンティックトークン、インレイヒントに加え、ソリューションツール、NuGet ワークフロー、デバッグ、プロファイリングが含まれます。一部の機能はまだ部分的な実装です。現在の制限事項は各ページで説明しています。

その他のエディター

サーバーは可能な限り標準 LSP を使用しますが、Neovim、Zed、Rider、Helix、Emacs 向けのパッケージ化された統合はまだリリースされていません。