概要
- 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のテーマを利用