さいしょに
普段Laravel+PHPStormを使っていて、「これは便利だなー」と思った小技を今回紹介していきます。
縦・横分割
Window -> Editor Tabs -> Split Vertically(垂直)
Window -> Editor Tabs -> Split Horizontally(水平)
膨大なコードを取り扱う以上どのエディタでもほぼ必須な分割機能ですが、私もショートカットにカスタム登録するくらいには活用してます。
(むしろデフォルトで登録されていないのは何故かと思うくらいに)
特に横長なディスプレイを使用していると縦分割の使用頻度が高く、
- 同じファイルの前半(定義エリア等)と後半(実装部分等)を同時に見る
- 参考にするファイルを開きながら実装するファイルを開いて書く
といったケースで使用したりしてます。
静的解析
Code -> Inspect Code...
コード量が多くなるとどうしてもタイプミスや変数の定義忘れ・未使用といった事が発生しがちになり、
それらを人力で探すのがとても困難になるため最近意識して使用するようになりました。
基本的には General が出現しなければまず最低限の問題はクリアしていると見て良いです。
このGeneral項目が出る大半の理由は文法ミス(Syntax error)が多く、例えば意図しないtypo(;
で終わっている行に不要な文字が続けて入っている等)があったりした場合はここで報告されます。
本来であればコミット時に合わせてこの静的解析も合わせて使用出来ますが、gitの処理はすべてSourceTreeで行っているため、実際にコミット前の最後の段階でこの処理を実行するようにしています。
ToDo
View -> Tool Windows -> TODO
名前の通り、コメントに todo:
と付けるだけで勝手にToDoリストにまとめてくれる機能です。
わざわざ書き出すほどでもないけど、一応後々のために覚書を残しておこうといった時によく使います。
Laravel Plugin
https://github.com/Haehnchen/idea-php-laravel-plugin
Laravelの開発をする上で必須と言えるくらいなプラグイン。
コントローラー・モデル・ビューにおける補完処理が行え格段にタイプ数が減るので、これだけでも入れる価値はあります。
Laravel 5 IDE Helper Generator
https://github.com/Barryvdh/laravel-ide-helper
上のプラグインと合わせてほぼ必須なライブラリ。
例えばLaravel標準のメソッドであったり、独自のクラス・メソッドを作った際に上手くPHPStormが解釈せず「(クラス|メソッド)が見つからない」といったエラーが多数発生せず済みます。
詳しくは140秒弱で分かる公式解説動画がありますのでこちらをどうぞ。
Doctrine Database Abstraction Layer
https://github.com/doctrine/dbal
このライブラリ自体を直接使っているわけではありませんが、
上のIDE Helper Generatorと合わせる事で、モデルのプロパティを使ったphpDocも合わせて作ってくれます。(README中盤記載)
こちらは何が便利かというと、モデル内のスコープやフォーマッタメソッドだけでなく直接テーブル上を参照しカラムの型も含めてphpDoc化してくれるので、
よくありがちな「あのカラムはどんな型の何の名前だったっけ?」が減ったり、Eloquentを使用している際に独自のスコープが正しく認識されたりします。
(ただしモデルを書き換えたら都度書き込みコマンドを実行する必要があります)
さいごに
PHPStormとLaravelの組み合わせを使い始めてまだ2,3年程ですが、使っていくうちに「あ、こんな便利な機能があったんだ」と思うようなことがまだまだ出てきています。
どんなに高級なIDEを使っていても実際はその半分も使いこなしていないという事なのだろうなという思いで、色々と調べてみると意外な発見が出てきたりするかもしれません。
この記事も誰かの参考になれば幸いです。