🐘

PhpStormで良く使うプラグインを紹介します

2023/04/11に公開

こんにちは。Enduです。
この記事ではJetBrainsが提供しているIDEのPhpStormで個人的に良く使うプラグインについて紹介します。
https://www.jetbrains.com/ja-jp/phpstorm/

PhpStormは業務や個人開発でPHPを書く際に凄くお世話になっています。
デフォルトでも十分ではあるのですが、プラグインを使うとより便利な機能が使えるので紹介していきます。

https://pleiades.io/help/phpstorm/managing-plugins.html

※この記事では2023年4月 時点でなるべく現在も更新しているプラグインに絞って紹介します。

PhpStormとはなにか?

プラグインを紹介する前に簡単にPhpStormについてご紹介します。
PHPを普段触っているエンジニアからしたら今更感があると思いますが、ご了承ください。

公式からそのまま引用すると以下の説明が出てきます。

PhpStorm は、PHP 開発者向けに設計された高速でスマートな IDE です。PhpStorm はあなたのコードを深く理解します。インテリジェントなコード支援とリファクタリング機能、オンザフライのエラー修正などの機能を備えています。また、コードを簡単にデバッグおよびテストできるようにします。
ref: https://www.jetbrains.com/ja-jp/lp/phpstorm-japan/

少々抽象的な説明ではありますが概ねこの説明通りだと思います。
もっと具体的な説明を追加すると以下のような事が可能です。

  • (1)コードの自動補完機能
    • PhpStormは、PHPに特化したコードの自動補完機能を提供しています。これにより、関数名や変数名、クラス名などを自動的に入力することができます。
  • (2)デバッグ機能
    • PhpStormは、デバッグ機能を備えており、コードの実行中に変数の値を監視したり、ステップバイステップでコードを実行したりすることができます。これはXdebugを個別で設定する必要があります。
  • (3)コード解析機能
    • PhpStormは、コード解析機能を備えており、コードのエラーを検出したり、コードの品質を向上するためのヒントを提供したりすることができます。
  • (4)バージョン管理のサポート
    • PhpStormは、主要なバージョン管理システム(Git、SVN、Mercurial)をサポートしています。また、GitHubやBitbucketといったクラウドベースのリポジトリ管理システムとの連携も可能です。

以上がPhpStormの主な機能の一部です。

PhpStormはPHP開発者が生産性を高めるための強力なツールである為、業務でPHPを書いていたり、これからPHPを書き始める方は是非使ってみてください。

PHPStormを法人や個人で利用する際にはライセンス費用がかかります。
一方で学生やOSS開発者は無料でご利用できたり、一部のライセンス費用が割引になるので、気になる方は以下のページをご覧ください。
https://www.jetbrains.com/ja-jp/phpstorm/buy/#personal

業務ですぐに使えるプラグイン

ここからが本題です。
プラグインは探そうと思えば沢山あるのであくまでも実用的に業務で活用できるものに絞って紹介します。

Japanese Language Pack

https://plugins.jetbrains.com/plugin/13964-japanese-language-pack------

UIや設定画面などの表示を日本語化してくれるプラグインです。
Xdebugや細かい設定になると、どうしても英語よりも母国語の日本語の方が意味が理解して設定しやすくなるので、初回起動時にいれておくと良いです。

GitHub Copilot

https://plugins.jetbrains.com/plugin/17718-github-copilot

2023年の4月11日時点において、GitHub Copilotについて説明する必要はないですが、GitHubとOpenAIが開発したクラウド型人工知能ツールであり、コンピュータプログラム(コード)の自動補完してくれます。
VisualStudioCodeで使われているイメージが強いですが、JetBrainsが提供しているIDEであれば導入ができます。設定する際には事前にGitHub Copilotで登録をすませてください。

https://docs.github.com/ja/copilot/getting-started-with-github-copilot

使い方は //でコメントアウトした中で実装したい処理などを書いてTabで自動補完したコードを埋めていく感じです。ChatGPT同様にプロンプト・エンジニアリング的な要素が求められるので、メソッド名だったり、コメントのメッセージ、PHPDocをしっかり書いておくと補完がよく効く印象があります。

※個人であれば問題ないと思うのですが、業務で活用する際にはプライバシーポリシーに違反する可能性があるので上長に相談したり、GitHubCopilotforBusinessを使う事を検討してください。

Find PullRequest

https://plugins.jetbrains.com/plugin/8262-find-pull-request

このプラグインは主に3つの機能を追加します。

  • (1)選択した行のプルリクエストまたはマージリクエストを検索します。
  • (2)プルリクエストまたはマージリクエストのURLをコピーします。
  • (3)プルリクエストまたはマージリクエストの番号を記載します。

変更があった箇所を調べたい時にGitHubでblameHistoryを使うと思いますが、その行がコミットされたときのページやPullRequestに一発でジャンプできます。めちゃオススメです。

特に過去の追加されたコードを見た時に「誰だこんな処理を追加したのは!」と調べてみると「いや俺じゃん!すみませんでした!!1」とすぐに経緯に気づけて便利です。

Presentation Assistant

https://plugins.jetbrains.com/plugin/7345-presentation-assistant

This plugin shows name and Win/Mac shortcuts of any action you invoke (View | Appearance | Descriptions of Actions)

PhpStormで機能を使った時にその機能の名前とショートカットキーを画面下に表示してくれます。
「それだけ?」と思うのですがショートカットを覚えるきっかけになるので良いです。

皆さんはPhpStormのショートカットを全部使いこなしていますか? 僕は5%程度です。頑張ります。

Rainbow Brackets

https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

{}()などのブロックを色分けして出してくれます。
ネストされたコードなど見る時に重宝します。

Translation

https://plugins.jetbrains.com/plugin/8579-translation

翻訳してくれます。ライブラリの英語で書かれたコメントをシュッと見たい時に便利。
因みにDeepL翻訳に切り替える事も可能です。

ref: https://zenn.dev/manalink_dev/articles/dbd0c90f705cf7

String Manipulation

https://plugins.jetbrains.com/plugin/2162-string-manipulation

Case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...

大文字小文字の切り替え、ソート、フィルタリング、インクリメント、カラムへの整列、グレッピング、エスケープ、エンコーディングなどが簡単に出来ます。

.ignore

https://plugins.jetbrains.com/plugin/7495--ignore

.gitignoreファイルが編集しやすくなるようにシンタックスハイライトをしてくれます。
また、.eslintignore (ESLint).dockerignoreもサポートしてくれます。

.env files support

https://plugins.jetbrains.com/plugin/9525--env-files-support

.envDockerfiledocker-compose.ymlファイルのシンタックスハイライトをしてくれます。

エディターの装飾プラグイン

Atom Material Icons

https://plugins.jetbrains.com/plugin/10044-atom-material-icons

This plugin is a port of the Atom File Icons and the icons of the Material Theme UI plugin.

アイコンがデフォルトよりもシンプルで見やすくなります。

PHPに特化したプラグイン

PHPUnit Enhancement

https://plugins.jetbrains.com/plugin/9674-phpunit-enhancement

Provide smart autocomplete, code navigation and refactoring features for mocked class methods of PhpUnit, Prophecy, and Mockery.

PhpUnit、Prophecy、Mockeryで提供しているモックされたクラスメソッドに対して、オートコンプリートがつくので簡単に補完が効きます。

PHP Annotations

https://plugins.jetbrains.com/plugin/7320-php-annotations

Extends PhpStorm to support annotations in DocBlocks and provide additional Attributes features

DocBlockでのアノテーションをサポートし、Attributesの追加機能を提供します。
公式ページを見るとオプションでSymfony Supportや、PHP Toolboxを使う説明もありますが、そのままでも使えます。

Just install and be happy

動画での解説もあります。
https://www.youtube.com/watch?v=hACeHnUbHYo&ab_channel=DanielEspendiller

その他

GitToolBox

https://plugins.jetbrains.com/plugin/7499-gittoolbox/versions#tabs

デフォルトでもGitの機能が使えますがより細かく1行のソースから、いつ誰がどのコミットで記述したのか?までを確認することが可能になります。

以上です。
また何か見つけたら更新します!

参考資料

Discussion