Open11
Cursor(VSCode)をできるだけPHPStorm(jetBrains)に近づけるゾ
目的(WIP)
- PHPStormが大好きだけど、時代がCursorっぽい
- VSCodeの細かい一つ一つのUXが生理的に無理に近く、使うことがずっと困難だった
- 時代が時代なので、まあ頑張るかということで、いろいろやってみる
状況
- jetBrainsのデフォルトのいろいろな体験がGood
- フロントエンドもバックエンドも全部PHPStorm使ってる
- PHPだけdocker composeで起動している
- 加えて数年間の利用により、自分の使いやすいキーバインドがたくさんある
- もはや無意識で使っているので、最初意識して列挙ができない
- そもそも過去にVSCodeメインだった時期も3年ほどあるので、基礎的な設定は事前にある程度できているし、キーバインドのカスタマイズなど基本的なことはできるので本スクラップでは割愛
カーソルをインデントのみの行に置いていて、Deleteを押したときに一気に前の行までいってほしい
「VSCode backspace delete all whitespace and jump to previous line」で検索。
以下の拡張機能でOK👍
PHPコードで、Interfaceの定義まで一気に飛びたい
いつの間にかできていたので確証がないが、以下拡張機能でOK
ただしjetBrains製エディタよりは、クリックがカスタマイズできず、ショートカットキーによる遷移のみっぽいところが欠点。ギリギリ許せる
とりあえず一発である程度のクオリティまで行く
PHPUnitの実行 w/ docker compose
前述のPHP拡張機能のテストはVSC標準のテストエクスプローラーに依存しており、Dockerコンテナ内との咬み合わせを設定するのが面倒
以下の拡張機能のほうがサクッと設定できた。
【BUG】ChatやComponserにペーストできない
おま環系の問題らしいが、少なくとも私の環境では起きている。結構困るので、別のペーストキーバインドを当てて耐えている。
⚠️なんかいまいちReference検索から辿っていくのがまどろっこしい
- 小さいウィンドウ(Peak?)で開かなくてもいい
- 実装クラスからInterfaceのReferenceにワンタップで開けてほしい
.php.html
とか、dist/**/*.js
が含まれてる
✅検索結果に- 設定画面にFiles: Excludeとか、Search: Excludeがあるのでそこから設定するとよい
- もちろん.gitignoreの反映もできる
- この辺が設定しないとそうならないのがJetBrainsと比較してだるいところですよね
primary barの方向が横になっていて違和感がすごい
結果:心が折れてPHPStormに戻ってきた
大きな理由:ショートカット頑張るだけじゃ追いつけない、そもそもの造りみたいなところの差が、ショートカットなど頑張るほどに浮き彫りになってきた
たとえば
- ファイル内で文字列検索するとき、PHPStormだと入力中にすでに最初にFindされた位置にスクロールされる。VSCはEnter(デフォルトだとCmd+Enterなのも鬱陶しい)押さないとスクロールされない
- 参照検索て一瞬Peek?という小型のウィンドウで開くのが、どうしてもスキップできなくて邪魔。影響範囲検索はかなりの回数行うので効率の差が響いてくる
- 言語化できないが、そもそもタイピングして補完候補が出て確定させる一連のアニメーションなのかUIなのか、が全然異なり、そのレベルから改善するのは厳しいと思った
- ちょっといいプラグインを入れるとすぐ有料化を推し進めてきて、判断コストが取られる
他方、Copilotより遥かに優秀なAI生成・AI修正機能は癖になってしまったが、それを鑑みても、AI生成・修正以外のあらゆるコードに関わる業務がやっぱり質が違いすぎるよねって思って我慢ならなくなってしまいました。

このまとめは共感すぎますね…
私の周りでもCursorからIntelliJに回帰する流れが観測されていて
自分も最近は、
IntelliJでコードリーディング・大部分の実装
Cursorで細かい実装直し
というような使い分けを行うようになりました。