世界を動かす技術を、日本語で。

VSCodeからZedに切り替えました

概要

  • VSCode から Zed への移行体験談
  • VSCodeの AI機能の強制・不安定化 が主な乗り換え理由
  • Zedの 軽快さ・安定性・初期設定の容易さ を評価
  • Python開発における Basedpyright設定の落とし穴 と対策を解説
  • Zedの拡張性や今後への期待を述べる内容

VSCodeからZedへ乗り換えた理由

  • 長年VSCode をPython、Go、C、フロントエンド開発などに利用
  • 最小限の設定 で使える主流ツールを好む開発スタイル
  • AI機能(Copilot等)の強制表示 やアップデートごとの新機能により、設定ファイルが opt-outリスト
  • VSCodeの不安定化・動作遅延・クラッシュ増加 が顕著に
  • JetBrains IDE は重く感じて好みでない
  • Vim/Emacs系 は学習コストの高さから見送り
  • Rust製の軽量IDE「Zed」 に注目し、乗り換えを決意

Zedの第一印象と基本設定

  • VSCodeからの移行がスムーズ で、UIやキーバインドも近似
  • ファイルナビゲーション はサイドバーから Cmd+Pファイル検索 に変化
  • VSCode設定のインポート機能 もあるが、今回は未使用
  • 設定は フォントサイズ・テーマ変更、git blame無効化、autosave有効化 程度で完了
  • 動作の軽快さ・応答性の高さ を即実感
  • 2週間以上クラッシュやバグなし の安定運用
  • Goは初期設定不要、Pythonは調整が必要 だった

ZedでPython開発環境を整える

  • Zedは言語サーバー(LSP) を利用して言語機能を提供
  • Python対応サーバー は複数。デフォルトは Basedpyright
    • Pyrightは型チェッカー中心、PylanceはVSCode専用(非OSS)
  • BasedpyrightのtypeCheckingMode がデフォルトで"recommended"(厳格)
    • pyproject.tomlの[tool.pyright]記載時は"recommended"が優先 される仕様
    • 明示的に"standard"を指定 しないと型エラーが多発
  • settings.jsonでのtypeCheckingMode指定が効かない 場合、pyproject.tomlで明示的に設定が必要
  • [tool.pyright]を使う場合は必ずオプションを明示 することが重要
  • ファイル間で型エラーが反映されない問題 は、settings.jsonで
    • "disablePullDiagnostics": true
    • を追加することで解決
  • 仮想環境検出や他のPython固有機能は問題なし
  • ty言語サーバーも試用し好感触 だったが、CIとの互換性からBasedpyrightを選択

Zedの総評と今後への期待

  • ZedはPython・Go開発のメインIDE として定着
  • 高速・安定・使い慣れた操作性・初期体験の良さ を高評価
  • 拡張エコシステムはVSCodeに劣る が、現時点で十分
  • 高機能なgit diffビューワ (GitLensのような)は未実装で惜しい
  • AI機能は存在するが非侵襲的 で邪魔にならない
  • 有料プランでプロジェクトの持続性を模索
  • VSCodeの独占状態に変化をもたらす存在 として今後に期待

Zedの最小設定例(settings.json抜粋)

{
  "autosave": "on_focus_change",
  "git": {
    "inline_blame": {
      "enabled": false
    }
  },
  "icon_theme": {
    "mode": "light",
    "light": "Zed (Default)",
    "dark": "Zed (Default)"
  },
  "base_keymap": "VSCode",
  "ui_font_size": 22,
  "buffer_font_size": 18,
  "theme": {
    "mode": "light",
    "light": "One Light",
    "dark": "One Dark"
  },
  "lsp": {
    "basedpyright": {
      "initialization_options": {
        "disablePullDiagnostics": true
      },
      "settings": {
        "basedpyright.analysis": {
          // pyproject.tomlに[tool.pyright]がある場合は反映されない
          "typeCheckingMode": "standard"
        }
      }
    }
  },
  "languages": {
    "Python": {
      "language_servers": ["!ty", "basedpyright", "..."]
    }
  }
}

コミュニティ・著者情報

  • GitHub Discussionで質問・意見・提案歓迎
  • 著者のSNS:GitHub | Bluesky | Twitter | LinkedIn
  • Pelicanで生成、Smashing Magazineのテーマを利用

Hackerたちの意見

VS Codeから特定のAIツールを使うようにしつこく促されてイライラしてたけど、別の選択肢にしたよ。全く別のエディタに移るんじゃなくて、VS Codiumを使い始めたんだ。知らない人もいるかもしれないけど、VS CodiumはVS Codeのオープンコアで、Microsoftのブランド機能がないんだ。MicrosoftはVS Codiumをベースにして、そこに自社の機能やAIのプッシュを加えてVS Codeをリリースしてると思う。もしMicrosoftの部分がなければVS Codeが好きなら、VS Codiumや他のモダンな選択肢を考えてみてね。

いいアイデアだね。VSCodiumも考えたけど、問題はVSCodeの独自拡張、例えばPylanceを使ってたことなんだ。だからOSSの代替品に切り替える必要があったんだけど、そこでZedを試してみようと思ったんだ。Electronアプリじゃないから、使い心地がいいと思う。もしZedで使えない拡張が必要なら、VSCodiumは良い選択肢だと思うよ。

MicrosoftはVS CodeをVS Codiumをベースにしてリリースしてると思う。 VSCodiumはオープンソースのVS Codeのソースコードから厳密に作られた特定の製品じゃないの? Microsoftとは関係ないし、同じベースから作って、違う方法で調整してるだけだよね。これは、あなたが言ったこととは少し違うChromium/Chromeの理解とは違う気がする。

何年もVSCodiumを使ってるけど、最近までは特に不満はなかった(Rust Analyzerが変更を拾わないのは、RustかVS Codeの問題か分からないけど)。一度Zedを試したけど、その時必要な基本的な機能がなかったんだ。また試してみる必要があるね。

こんにちは、投稿の作者です。VSCodeに疲れた人たちがZedを見つけて共感してくれたら嬉しいです。それと、投稿では触れてないけど、Zedで恋しい小さな機能がたくさんあるんだ。例えば、自動でファイルのインデントを検出して尊重する機能とか(https://github.com/zed-industries/zed/issues/4681)。でもZedは欠けている機能を積極的に追加しているから、来年にはかなり改善されると思ってるよ。

この話、すごく共感できる。1週間前に新しいMacBookを買って、最小限のソフトウェアしかインストールしてないんだ。特にVSCodeはインストールしてないけど、全然恋しくないよ。新しいノートパソコンではEmacsだけを使ってる。Emacsの経験は約40年で、treemacsの自動化を除けば、いつものセットアップを使ってる。VSCodeは素晴らしいプロジェクトだけど、使ってる時に「幸せ」だとは感じなかった。Emacsを使うと幸せだし、LLMの統合は最低限にして、たまにgemini-cliを別で動かしたり、いろんなLLM(特に強力なローカルモデル)をワンショットで使ったりしてる。

Emacsって何??全然違うエディタ戦争の下で、エディタのフレームウォーを始めようぜ :)) 俺はVI派なんだけど、冗談だよ。実はorg-modeが恋しいんだ。

同じように、他のエディタでは味わえない方法でEmacsを使うと幸せを感じる。Emacsは異なる開発の時代のために作られていて、生産的なプログラミングの見方も違ってた。RiderやVSCodeなどは全てNetBeans以降のエディタで、それが表れてる。テキストバッファの編集よりもプロジェクトのリファクタリングが重視されていて、エージェントAIの開発もそのリファクタリングプロセスにスムーズに入る。Emacsを使うと、目的がある感じがして、手作り感があって、言っちゃうけど、アーティザナルな感じがする。

俺たち全員がEmacsで40年の経験があるわけじゃないし、20年後にEmacsに恋するなんて予測できるわけでもない。Emacsというテキストエディタ「ツールキット」を、自分にとって完璧なテキストエディタにするための山のようなプロジェクトを乗り越える意志の強さもない。

LLMで設定を調整できるようになって、またEmacsに恋しちゃった!Emacsは大好きだけど、Lispはあんまり好きじゃないんだよね。LLMがその部分も助けてくれてるかも。今の設定にはすごく満足してるよ。シンプルでモダンだし。

LinuxでDoom EmacsをVSCodeの代わりに使ってて、すごく楽しいんだけど、macOSに切り替えたら体感がかなり遅くて、入力遅延が気になったんだよね。(もちろん、ネイティブコンパイルも使ったよ。)その点、何か変わったことある?それとも、もう受け入れちゃったの?

2ヶ月前にEmacs(Doom)を使い始めたんだけど、JetBrainsやVSCodeがAIでクソ化するって気づいて、もう戻れないなって思った。今の時点で、ちゃんとしたプログラマーにはVim/NeovimかEmacsに飛び込むことを勧めるよ。このエディタたちは次の1000年も生き残るし、クソみたいな機能と戦う必要もないし、もう一度切り替える必要もないから。1〜2ヶ月の学習曲線はその価値があるよ!

Hacker Newsで議論の続きを見る