ハクソク

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

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ヶ月の学習曲線はその価値があるよ!
世界中が「みんなVS Code使ってるよ」って言っても、Emacsを使い続けて正解だったって思ってる。Emacs仲間、集まれ!
VScodeからZedに切り替えようとしたけど、残念ながらJupyterノートブックや画像/動画のプレビューがないから、これは致命的だった。他の問題点もあるよ: - 保存時に自動フォーマットがデフォルト(https://github.com/zed-industries/zed/discussions/29395) - VSCodeのデバッガーUXはかなり良さそうだね。
そうだね!古いプロジェクトで不一致なフォーマットを扱ってる時に、format_on_saveにやられたことがある。別の議論を見たけど、メンテナはこのユースケースをあまり考えてなかったみたいで、「なんでちゃんとしたフォーマットを持ちたくないの?」って感じだった。今はオフにできるから、デフォルトが変わるかはわからないけど。
それでひどい経験をしたよ。Pythonのインタープリターを見つけるという簡単なことすらできなかった!今のIDEはたくさんあるけど、ほとんどは十分に速いよね。でも、一般的なワークフローはしっかりしてないとダメだよ。
「こういうこと」にはVS Codeを使ってることが多いかな(ビジュアル拡張エコシステムのおかげで)。git diffビューに愛着が湧いてきたから、主にPRのレビューに使ってる(特に大きいのは、最近GitHubのUIが苦戦してるから)。他のコードはVimかClaudeで書いてる。
問題は期待することだよね。Sublime Textやその後のVS Codeが出たとき、意図的にEclipseやIntelliJ IDEAのようなIDEと同じ機能は持たなかった。そっちのエコシステムはすごく印象的で機能が豊富だけど、多くのタスクにはオーバースペックで、パフォーマンスコストが大きすぎた。X年後、VS Codeが一番大きなエコシステムを持っていて、だからこそ一番大きくて複雑なアドオンもある。Zedはまたゼロから始めて、開発者に拡張機能を作ってもらう必要がある。でも、ZedはRustベースだから、Codeのような大きなエコシステムを持つのは難しいと思う。IDEも同じで、一番大きなプラグインのいくつかは企業の支援を受けていて、開発やメンテナンスにお金を払ってる。
おっと、ちょっと待って。コードエディタの要件に動画プレビューが必要なの?そんな機能があるなんて知らなかった。家でVSCodeを立ち上げて試してみるよ。
Jupyterノートブックのサポートがないのは残念だったな。最近はあんまり使わなくなっちゃったし、使うときはJupyterで実行してる。
VSCodeのデバッガーだけが、俺の仕事用マシンにインストールしてある理由だよ。最近はHelixで編集して、デバッグの時だけXcodeに切り替えてる。VSCodeよりも一貫性があって、たまにメモリリークして自爆することもないしね。コマンドラインでlldbをちゃんと学ぶ時間がなかったけど、次のステップかもしれない。あと、VSCodeの「すべて検索/すべて置換」が恋しいな。あれはインクルード/エクスクルードパスを維持してくれるけど、Helixはそれがないから。
Sublimeは結構いいよね。俺はいつもサクッと編集したり、メモを捨てたりするのにSublimeを使ってる。でも最近は軽量IDEとしてもっと評価するようになった。go(lspといくつかのプラグイン)やST(sqltools)をパッケージマネージャーやプロジェクトマネージャーと一緒に使ってる。速さやエディタの仕上がりが好きだし、使ってるプラグインも全部ちゃんと動く。あと、Claudeがすごく助けてくれた(特定のシナリオのためのショートカットを作ってくれたりね)。Zedに対して何か言うつもりはないけど、Claudeのセッションを一回やれば、自分だけのカスタマイズされたIDEを作る手助けになるよ。
Sublime Textが大きなファイルを開いても全然動じないのが好き。ほとんどの他のエディタは苦労するのにね。全体的な速さと反応の良さは信じられない。これらの指標でSublime Textを超えようとする他のエディタが見てみたい。
Sublimeが大好きだったし、今でも時々アップデートがあるけど、残念ながらそのエコシステムは5年くらい前に死んじゃった。パッケージリポジトリは「10年前に最終更新」みたいなのが多い。まだ使えるエディタだけど、コミュニティのサポートがないと長期的には厳しいよね。とはいえ、ST(その前の名前忘れたけど)は「軽量」(IDEより軽い)エディタの基準を作ったから、AtomやVS Code、今のZedもその共通のパターンをSTに遡ることができる。
同じく、まだSublimeにSublimeLSPを使ってるけど、95%の使用ケースには問題なく使えてる。残りはターミナルに頼ってるからね。最終的にはZedに切り替えたいと思ってるけど、内蔵デバッガーやポップアップでテキストを選択してコピーできる機能があるから(2026年になってもSublimeがこれを許可してないなんて信じられない) -- Zedは前回試したときにまだ粗い部分があったし、Sublimeの方がパフォーマンスが良さそうだったな。
Sublimeのプラグイン作るのって、めっちゃ簡単だってみんな気づいてないよね。たったの1つの.pyファイルだけで済むこともあるし。依存関係のインストールもいらないし、メタファイルも不要、特別な手順もなし。ただ.pyファイルを正しいディレクトリに放り込むだけ。俺はGeminiを使って、いろんな複雑さのプラグインを3〜4個作ったけど、どれもちゃんと動いてるよ。
VS CodeのAI機能をオフにするための設定を一つ維持してるよ:「chat.disableAIFeatures」(詳細は:https://code.visualstudio.com/updates/v1_104#_hide-and-disab...)。この設定をしてもAI機能がまだ表示される場合は、https://github.com/microsoft/vscode に問題を報告してくれれば、こちらで確認するよ。時々、新しいAI関連の機能がその設定を無視して入ってくることがあるけど、できるだけ早く修正を進めるようにしてるからね。ありがとう!Ben(VS Codeチーム)
ありがとう、Ben。そのことは知らなかったよ。
ウェルカムページでオプトインだけにしてくれたら、取引成立だね。(もちろん、そんなことは絶対に起こらないって分かってるけど。)
AIコードが全然入ってない別のビルドにした方がいいよ。フラグは信頼できないからね。特に、アップデート後にフラグをリセットする歴史があるから。
このコメントがあるからこそ、9ヶ月ぶりにVS Codeを使うことにしたって伝えたかった。
素晴らしい!VS CodeがすべてのAI機能を無効にする設定を追加したのは尊敬するよ。ユーザーの選択肢と自主性を優先してるからね。「オープンソースのAIコードエディタ」として最近リブランドされたことを考えると、AIを使わない選択肢があるのは新しいユーザーや既存のユーザーにとって大事なことだよ。最近は、LLMの統合が管理者や投資家にプッシュされてるから、企業や製品にとっては難しいみたいだけど。開発者、ユーザー、市民は、AI機能からオプトアウトする権利と尊重を受けるべきだよね。
MSFTの社員がこのスイッチを切り替えると、パフォーマンスレビューで何が起こるのか知りたいな。
こんにちは、Ben。最近(2ヶ月前未満)、ライセンスコンプライアンスの分野で詳しい分析をしたんだけど、MicrosoftやElectronアプリを出してる多くの会社がLGPLに準拠していない可能性があるってことが分かったよ。(見たところ、ElectronプロジェクトはElectronがLGPLの対象だってことに気づいてないみたいだけど、実際はそうなんだ。Slackもライセンス違反はしてないけど、他のLGPLコンポーネントを出してるから、偶然に準拠してるだけみたい。)私は数週間後に会社を辞める予定だった(11月末)、実際に辞めたから、その後は調査や発見に関する進展はないんだ。正式なレポートは準備してないし、半公開の場で一度だけ話したことがあるけど、結構大きな問題だよ。これをMicrosoftの法務部に伝えて、調査してもらえるようにお願いできる?
Zedは、ここ数年で私の開発ツールにとって最も重要な変更の一つだよ。日常的に使うと、VS Codeよりも明らかに速いし(起動時間や入力遅延など)、リソースの消費も少ない。今まで使ったGUIエディタの中で、Vimモードが一番良いと思う。
最近、ZedとVS Codeを使ってないけど、VS Codeのメソッドに関する情報みたいな気が散る要素が嫌だったんだ。Zedを試したときの問題は、LinuxのKDEで使ってたんだけど、Zedにはハンバーガーメニューがあって、Macではちゃんとしたアプリケーションメニューがあったこと。期待してたメニューのショートカットもなかったし、例えばファイルメニューを開くのにAlt-fが使えなかった。これはWindows特有の慣習で、多くのアプリがLinuxにも持ち込んでる。やっぱり、ユーザーインターフェースの面ではSublime Textが好きだな。
今はZed、Sublime、VS Codeを混ぜて使ってる。今のワークフローでZedに足りないのは、並べて比較する機能なんだ。オープンな議論があるけど、最近はあまり動きがないみたいだね。GDB/LLDBのサポートが強化されると、C/C++のツールももっと良くなると思う。ほとんどのソフトウェアがこんなに肥大化してるのはすごいことだよね。ZedとSublimeを支えてる人たちには感謝だな、逆方向に進んでくれてるから!
IntelliJのdiffビューについてのコメントチェーンにはすごく同意するな。https://github.com/zed-industries/zed/discussions/26770#disc... エディタに組み込まれなくてもいいから、IntelliJと同じくらい良い速いスタンドアロンのGit UIにはお金を払うよ。今はSublime Mergeを使ってるけど、まあまあって感じで、同じレベルではないね。
Zedを数ヶ月試したけど、JavaScriptやPythonの構文チェックやPrettierのリフォーマットが安定して動かなかったんだ。数時間いじって動くようになっても、数日後にはまた動かなくなってた。今はVS Codeに切り替えたけど、その部分はかなり信頼性が高いみたい。ただ、全体的にはZedの「感触」の方が好きだな。設定を固定する方法を見つけるために、その記事をブックマークしたよ。