Zed + DotRushでC#を書く

タイトルの通りですが、結構苦戦したので備忘録を兼ねて。記事執筆時のバージョンは以下の通りです。

  • Zed 1.15.0
  • DotRush 2026.08

きっかけ

C#の開発環境といえばVisual StudioやRiderのようなIDEやVisual Studio Codeを使っている方が多いと思いますが、最近はZedをメインのエディタにしていることもあって、C#もできればZedで書きたいと常々思っていました。問題は拡張機能で、VSCodeではC# Dev Kitが利用出来ますが、Zedにはそれに相当する拡張機能がありません。

そこで以前から話には聞いていたものの、全く試せていなかったDotRushを利用することにしてみました。DotRushはサードパーティ製のC#拡張で、豊富な機能が提供されており、Zedにも対応しています。

JaneySprings / DotRushLightweight C# development environment for VSCode75434C#

インストール

DotRushのZed拡張はzed.dev/extensionsには登録されていないので、ローカルにダウンロードした上でDev Extensionとして追加する必要があります。まずはDotRushを適当なフォルダにgit cloneしましょう。

git clone https://github.com/JaneySprings/DotRush.git

続いてZed > Extensionsを開き、Install Dev Extensionから先ほどcloneしたDotRushのフォルダを開き、src/AltEditors/Zedを選択します。インストールが終わったらZedを再起動するか、editor: restart language serverを実行しておきましょう。

設定周り

本来はこれで動作するはずですが、手元で試したところ上手くいきませんでした。シンタックスハイライトは動作し、LSPとの接続もできているようですが、ソリューションが読み込まれていないようです。調べてみたところ、以下のissueと同じ問題に引っかかったようです。

Zed 0.207.3 breaks DotRush language server's LSP integration (0.206.7 works) · Issue #39853 · zed-industries/zedSummary After updating to Zed 0.207.3, the DotRush language server no longer manages to work correctly. Description Steps to reproduce: Follow these steps to install the DotRush language server. Ze...GitHub

どうやらdotrush.config.jsonを明示的に指定してあげると動くようです。というわけで、ルートフォルダにファイルを追加し、以下の設定を追加します。

{
    "dotrush": {
        "roslyn": {
            "projectOrSolutionFiles": [ "my-solution.slnx" ]
        }
    }
}

これでちゃんとLSPが動作するようになりました。

まとめ

上の設定で最低限C#を書くのに必要な機能は動作するようになりました。デバッガ周りやUnityとの連携に感してはまだ試せていませんが、一応可能ではあるらしい?です。手元のUnityプロジェクトで試してみたところ、The Unity message 'Start' is empty.のようなUnity専用のAnalyzerは動作していました。

まあ最近はほとんどのコードをCodexなどに書かせているので、コードを読むのに必要な機能が動いていれば満足かな、と。そういう面では十分すぎるほど機能してくれています。最近のVSCodeはかなり重くて使いたくない度が高いので、ZedでC#が書けるのはとても良いですね。