
もうCursorは不要? PhpStorm + Claude/Gemini CLIで実現する、プロのためのAIコーディング
こんばんは!IT業界で働くアライグマです!
CursorやWindsurfといった、新しいAI-Nativeエディタの登場に、心躍らせているエンジニアは多いでしょう。私もその一人です。しかし、同時にこうも思うのです。
「長年連れ添った、この最強のIDE『PhpStorm』の強力なデバッグ機能や、盤石なリファクタリング機能を、本当に手放せるだろうか?」と。
特に、私のようにPHPとLaravelを主戦場とする開発者にとって、PhpStormは単なるエディタではなく、思考を加速させ、コードの品質を守るための、かけがえのない「相棒」です。
もし、この最強の相棒であるPhpStormを、その手に馴染んだ操作感はそのままに、最新のAIの力で“AIネイティブ化”できるとしたら?
今日は、その夢を現実にするための、具体的な技術とワークフローを、私の実践例を交えながら、徹底的に解説していきます。
なぜ、私たちはPhpStormを辞められないのか?
本題に入る前に、私たちがなぜこれほどまでにPhpStormに惹かれるのか、その理由を改めて言語化させてください。それは、PhpStormが単なるテキストエディタではなく、PHP開発という文脈を深く理解した、インテリジェントな開発環境だからです。
- 強力な静的解析と正確なコード補完: クラスのメソッド、変数の型、名前空間。PhpStormは、プロジェクト全体のコードを常に解析し、驚くほど正確な補完候補を提示してくれます。これは、タイプミスを防ぎ、開発速度を向上させる上で、絶大な効果を発揮します。
- 堅牢なデバッグ機能: Xdebugとのシームレスな連携により、ブレークポイントを張り、変数の中身を覗き、ステップ実行でコードの動きを一つ一つ追っていく。この堅牢なデバッグ体験は、複雑なバグを解決する上で、
var_dump
やdd()
とは比較にならないほどの力を持っています。 - 盤石なリファクタリング機能: クラス名やメソッド名の変更、名前空間の移動といった、影響範囲の大きな変更も、PhpStormのリファクタリング機能を使えば、安全かつ一瞬で完了します。
これらの強力な基盤があるからこそ、私たちはPhpStormを手放せないのです。
PhpStormでAIの力を解き放つ、2つのアプローチ
では、この素晴らしい母艦に、どうやってAIという最新のエンジンを搭載するのか。アプローチは大きく分けて2つあります。
- アプローチ1:専用プラグインの活用JetBrains公式の「GitHub Copilot」プラグインなどがこれにあたります。導入が非常に手軽で、エディタとの統合もスムーズです。しかし、使えるAIが特定のサービスに限定されてしまう、というデメリットがあります。
- アプローチ2:CLIツールとの連携(本記事の主役)Claude CodeやGemini Codeといった、強力な外部AIを、ターミナル経由で呼び出す方法です。このアプローチの最大のメリットは、特定のプラグインに依存せず、常に最新・最強のAIモデルを、あなたの好きなように使いこなせるという、圧倒的な柔軟性にあります。
この記事では、後者の「CLIツールとの連携」を深掘りし、あなたのPhpStormを、真にAIネイティブな開発環境へと変貌させていきます。
【実践】CLIツールをPhpStormに完全統合するワークフロー
ここからが、この記事の核心部分です。具体的なステップを、丁寧に解説していきます。
ステップ1:準備(APIキーとCLIツールのインストール)
まず、前提として、あなたのPCには利用したいAIのCLIツール(claude
やgemini
など)がインストールされ、APIキーが環境変数に設定されている必要があります。この手順については、以前の記事『【5分で完了】Gemini Code / Claude Codeをターミナル(CLI)で使うための、最初の環境構築ステップ』で詳しく解説していますので、まだの方はこちらをご覧ください。
ステップ2:PhpStormの「外部ツール」機能で、AIを呼び出す魔法を作る
PhpStormには、「外部ツール(External Tools)」という、コマンドラインのツールをGUIから簡単に呼び出せる、非常に強力な機能があります。これを使い、選択したコードをAIに渡す「魔法」を作りましょう。
- 設定画面を開く:
File > Settings
(MacならPhpStorm > Settings
)を開きます。 - 外部ツールへ移動:
Tools > External Tools
を選択します。 - 新しいツールを追加:
+
アイコンをクリックして、新しいツールを作成します。
Claude Code用の設定例
- Name:
Claude: このコードをリファクタリング
(メニューに表示される名前なので、分かりやすく) - Program:
claude
(ターミナルで実行するコマンド名) - Arguments:
refactor -p "このPHPコードを、よりクリーンで効率的な形にリファクタリングしてください。変更点には、なぜそうしたのか理由をコメントで加えてください。コードだけを返してください。" "$SelectedText$"
- Working directory:
$ProjectFileDir$
引数の解説
refactor -p "..."
:claude
コマンドの、プロンプトを指定するオプションです。ここに、あなたの「お決まりの指示」を書いておきます。"$SelectedText$"
: これが魔法の変数です。PhpStormのエディタ上で選択したテキストが、この部分に自動的に挿入されます。$ProjectFileDir$
: コマンドを実行する際の、カレントディレクトリを指定します。プロジェクトのルートディレクトリを指定しておくのが無難です。
同様に、「このコードのテストを書いて」「この関数のDocBlockを生成して」といった、よく使う指示を、それぞれ別の外部ツールとして複数登録しておくと、作業効率が飛躍的に向上します。
ステップ3:ショートカットキーを割り当てる
次に、作成した外部ツールを、キーボードショートカット一発で呼び出せるようにします。
- キーマップ設定へ:
Settings > Keymap
を開きます。 - 外部ツールを探す: 右側の検索窓に、先ほど付けたツールの名前(例:
Claude: このコードをリファクタリング
)を入力します。 - ショートカットを割り当て: 検索結果を右クリックし、「Add Keyboard Shortcut」を選択。他のキーと被らない、あなただけのショートカット(例:
Ctrl+Alt+Shift+C
)を割り当てます。
これで準備は完了です。エディタでリファクタリングしたいコードを選択し、設定したショートカットキーを押してみてください。ターミナルが一瞬表示され、AIからの返答(リファクタリングされたコード)がコンソールに出力されるはずです。
ステップ4:具体的なユースケース
この仕組みを使って、具体的にどのようなことができるのか、私の実践例をご紹介します。
- ユースケース1:複雑なControllerのリファクタリング何百行にも膨れ上がった、神ならぬ「神クラス」と化したController。その中の一つのメソッドを選択し、Ctrl+Alt+Shift+C!すると、Claude Codeが、責務ごとにプライベートメソッドに分割された、非常に見通しの良いコードを提案してくれます。私は、その提案をコピーし、元のコードと置き換えるだけです。
- ユースケース2:PHPUnitテストコードの自動生成新しく作成したサービスクラスのコード全体を選択し、「このクラスのPHPUnitテストを書いて」という外部ツールを呼び出します。正常系・異常系を含んだ、網羅的なテストメソッドの雛形が一瞬で生成されます。テストを書く心理的なハードルが、劇的に下がります。
- ユースケース3:レガシーコードのドキュメント化引数も返り値も型宣言がなく、コメントも一切ない、古代のPHPコード。そんな関数を選択し、「この関数の機能と、各引数の意味を推測し、PHP-Doc形式のコメントを生成して」と依頼します。AIは、コードの文脈からその役割を驚くほど正確に読み取り、適切なドキュメントを生成してくれます。
【PjM視点】チーム全体の「AI武装レベル」を上げるには
このワークフローは、個人で使うだけでも強力ですが、チームで導入することで、その価値はさらに増大します。
- 設定のエクスポートと共有: PhpStormの「外部ツール」の設定は、XMLファイルとしてエクスポートできます。この設定ファイルをGitリポジトリで共有すれば、チームメンバー全員が、全く同じ「魔法のコマンド」を、数クリックで自分の環境に再現できます。
- 共通プロンプトの洗練: チームで「リファクタリング用」「テスト生成用」の共通プロンプトを練り上げていくことで、AIから得られるアウトプットの質が、チーム全体で標準化・向上していきます。
- APIコストの管理: Claude CodeやGemini CodeのAPI利用は、便利さのあまり、使いすぎると高額になる可能性があります。PjMとしては、チームのAPI利用状況を定期的にモニタリングし、費用対効果を評価することが重要です。例えば、「リファクタリングのような複雑なタスクには高価なOpusモデルを、単純なコード生成には安価なSonnetモデルを使う」といった、コスト意識をチームで共有するのも良いでしょう。
まとめ
私たちは、長年愛用してきた最強のIDE、PhpStormを手放す必要はありません。
むしろ、その堅牢な土台の上に、CLIツールという形で、常に最新・最強のAIエンジンを「外部接続」する。このハイブリッドなアプローチこそが、AI-Nativeエディタの流行に惑わされず、自分自身の生産性を最大化するための、現時点での最適解だと私は確信しています。
この記事で紹介したワークフローを導入し、あなたのPhpStormを、どんな新しいエディタにも負けない、あなただけの「最強のAI開発環境」へと進化させてみてください。