【入門編】PhpStormの『External Tools』でIDEの機能を拡張する:独自コマンドを右クリックメニューに統合する – 総合開発環境(IDE)生産性向上バイブル

こんにちは!毎日のコーディング、本当にお疲れ様です。
PHPやLaravelを使ったWeb開発で、PhpStormを使っているなら、あなたの開発環境はすでに十分強力です。しかし、ふとこんな風に思ったことはありませんか?

「いつもターミナルを開いて、`composer test` とか、独自のコード整形スクリプトをポチポチ打ってるけど……これ、エディタの右クリックメニューから一発で実行できたら、どれだけ楽だろう?」

実は、PhpStormの『External Tools(外部ツール)』という機能を使えば、あなた専用のカスタムコマンドをIDEのメニューやショートカットキーに完全に統合することができます。

今回は、このExternal Toolsの仕組みを紐解きながら、初心者の方でも今日から即戦力として使える「実用的なHelloWorld」を一緒に作っていきましょう。これをマスターすれば、毎日の開発から「ターミナルとIDEを行き来する無駄なコンテキストスイッチ」が消え去り、コーディングに没頭できるようになりますよ。

—

なぜ「External Tools」が必要なのか?(本質的なメリット)

私たちが開発をする際、IDE(PhpStorm)とターミナル(CLI)は切っても切れない関係です。Gitの操作、テストの実行、コードの静的解析、DBのマイグレーション……これらはすべてCLIのコマンドが裏で動いています。

しかし、考えてみてください。
1. コードを書く(PhpStorm)
2. ターミナルにフォーカスを移す
3. `composer check` と打ち込んでEnterを押す
4. 結果を目視して、またPhpStormに戻る

この「画面を行き来する」という小さな動作、1日何十回、何百回と繰り返すと、脳のワーキングメモリ(認知負荷)をじわじわと削っていきます。

External Toolsは、「PhpStormという一つの宇宙の中に、あらゆる外部CLIツールを取り込む」ための魔法の扉です。IDEが持つ「今開いているファイルの絶対パス」や「プロジェクトのルートディレクトリ」といったコンテキスト情報を、外部のスクリプトに自動で引き渡して実行できるため、開発のスピードと快適さが劇的に跳ね上がります。

—

基礎セットアップ:External Toolsの設定場所を知る

まずは、PhpStormのどこからこの設定にアクセスするのかを確認しましょう。セットアップといっても、何か重いプラグインを入れる必要はありません。PhpStormの標準機能です。

1. PhpStormの環境設定画面を開きます。

  • macOS: メニューバーの `PhpStorm` > `Settings…` (または `Preferences…`)
  • Windows/Linux: メニューバーの `File` > `Settings…`

2. 設定画面の左側ツリーから、以下のパスを辿ります。

  • `Tools` > `External Tools`

ここが、あなたのカスタムコマンドを登録する「コントロールセンター」です。

—

精度高い「HelloWorld」的動作確認:カスタムコマンドを統合する

百聞は一見に如かず。実際に手を動かして、プロジェクトのルートにある `composer.json` の内容を美しくフォーマットしつつ、コンソールに出力する独自のカスタムツールを登録してみましょう。

今回は、初心者の方でも確実に動作が確認できるよう、PHPが標準で持っている簡単なワンライナー(または任意のスクリプト)をExternal Toolsに登録します。

ステップ 1: 外部ツールの新規作成

1. 先ほどの `External Tools` 設定画面を開きます。
2. 画面右側にある `+` (Add) ボタンをクリックします。
3. すると、ポップアップで設定モーダルが表示されます。ここを以下のように丁寧に入力していきます。

ステップ 2: 各項目の詳細設定とコード解説

モーダル内の各入力項目には、それぞれ重要な意味があります。以下の表と設定例を参考に進めてください。

  • Name(名前): `[HW] Composer Check Status`
  • 解説: 右クリックメニューや検索窓(Find Action)に表示される名前です。自分がパッと見て分かる名前をつけましょう。先頭に `[HW]` とつけておくとテスト用だと分かりやすいです。
  • Description(説明): `現在のComposer依存関係の状態をサクッと確認するテストツール`
  • 解説: このツールが何をするものか、未来の自分やチームメンバーへのメモ書きです。
  • Group(グループ): `My Custom Tools`
  • 解説: メニューがごちゃつかないようにまとめるグループ名です。

そして、最も重要な「実行プログラムと引数の設定」です。

Program: php
Arguments: -r “echo ‘=== [HelloWorld] PHP Runtime is Working! ===\n’; echo ‘Current Project Root: ‘ . getcwd() . ‘\n’;”
Working directory: $ProjectFileDir$

各パラメータの裏側の動きをプロの視点で解説:

  • `Program` (実行するバイナリ):

ここではシステムにインストールされている `php` コマンドを指定しています。フルパス(例: `/usr/bin/php` や環境に応じたパス)を指定することも可能です。

  • `Arguments` (渡す引数):

今回はPHPのインライン実行機能 (`-r`) を使って、文字列を出力するだけのシンプルなプログラムを書いています。
ここで注目してほしいのは、PhpStormのマクロ変数(Variables)です。

  • `Working directory` (作業ディレクトリ):

ここには `$ProjectFileDir$` という魔法のマクロを指定しています。これは、現在開いているPhpStormプロジェクトのルートディレクトリ(絶対パス)を自動で取得してセットしてくれる変数です。これにより、コマンドが「どこで実行されるべきか」をIDEが賢く判断してくれます。

入力が終わったら、右下の `OK` を押し、設定画面も `OK` で保存します。

—

いざ実行!右クリックメニューからの感動体験

設定が完了したら、いよいよ動作確認です。

1. PhpStormのエディタ上で、適当なファイル(あるいはプロジェクトビューの何もないところ)を右クリックしてみてください。
2. メニューの中に `External Tools` という項目が現れています。
3. その中に、先ほど名付けた `[HW] Composer Check Status` が鎮座しているはずです。迷わずクリックしてみましょう!

実行結果の確認(コンソール出力)

クリックした瞬間、PhpStormの下部に `Run` ツールウィンドウが自動で開き、次のようなログが流れます。

=== [HelloWorld] PHP Runtime is Working! ===
Current Project Root: /Users/yourname/Projects/my-php-app

Process finished with exit code 0

おめでとうございます!これで、PhpStormのUI操作から、あなたオリジナルのプログラムを完璧にキックすることに成功しました。

—

現場で即役立つ!「実務応用パターン」の紹介

「文字を出力するだけじゃなくて、実務でどう使うの?」と思った方のために、私たちが現場で実際に使っている、最高に実用的なレシピを一つプレゼントしましょう。

プロジェクトのコーディング規約をチェックする `php-cs-fixer` や、静的解析の `PHPStan` を、今開いている「たった一つのファイル」に対して即座に実行する設定です。

  • Name: `Run PHPStan on Current File`
  • Program: `$ProjectFileDir$/vendor/bin/phpstan`
  • Arguments: `analyse $FilePath$`
  • Working directory: `$ProjectFileDir$`

ここで使われている `$FilePath$` も強力なマクロ変数です。今まさにあなたがエディタで編集しているファイルの絶対パスに自動置換されてPHPStanに渡されます。プロジェクト全体を解析すると時間がかかる大規模なレガシーコードでも、このツールを使えば「今書いたファイルだけを秒速で静的解析する」という極上の開発フローが手に入ります。

さらに、このExternal Toolsにはショートカットキー(Keymap)を割り当てることも可能です。`Settings` > `Keymap` から先ほど作成したツールを探し、`Cmd + Shift + X` などの好きなキーバインドを割り当ててみてください。
右クリックすら不要になり、キーボードから一瞬でカスタムコマンドが爆誕します。

—

まとめと先輩からのアドバイス

今回は、PhpStormの『External Tools』を使って、独自のコマンドをIDEに統合する方法を基礎から解説しました。

  • External Toolsの役割: ターミナルを開く手間をなくし、IDEとCLIの壁をブチ壊す。
  • マクロの活用: `$ProjectFileDir$` や `$FilePath$` を使うことで、今作業しているコンテキストをダイレクトにスクリプトに渡せる。
  • 応用: 静的解析やLinter、Composerスクリプトを登録すれば、開発効率が何倍にも跳ね上がる。

これをマスターすれば、毎日のコーディングが驚くほどスムーズになり、「自分好みにカスタマイズされた至高の開発環境」を手に入れた実感が湧いてくるはずです。ぜひ、今日の業務からあなたのプロジェクトに合わせた独自のツールを登録してみてください。

あなたの開発ライフが、より一層快適でクリエイティブなものになりますように!

タイトルとURLをコピーしました