OPENLOGIの大島です
OPENLOGI AdventCalendarの16日目です。
はじめに
今回は僕が愛用しているPhpStormでオススメの機能を紹介したいと思います。
PhpStormはjetbrains社製のPHP開発に特化したIDEです。開発をサポートしてくれる様々な機能があり、使っているうちにPhpStorm無しでは生きていけない体になってしまいました![]()
すでにお使いの方は1つでも新しい発見があれば嬉しいです!
他エディタをお使いの方も「こんな機能あるんだなー」程度でチラッと眺めていただければ![]()
なお、下記に紹介するほとんどの機能・プラグインはIntelliJでも同様に使えると思います。
設定のカスタマイズについて
ほとんどの操作は上部メニューのPhpStorm→Preference→Keymapにて自由にキーバインド(ショートカット)を設定できます。押しづらいものはどんどん変えちゃいましょう。
また、キー割り当てするまでもない操作でも、下記に紹介する検索から実行できます。Editer操作やよく使うものはキーに割り当てて、たまに使うものは検索から実行がいいと思います。
また、各種プラグインはPreference > Plugins > Browse Repositoriesでインストールできます
検索系
これだけ覚えておけば何とかなるやつ![]()
Search Everywhere
⇧ 2回
何でも検索
ファイル、クラス、IDEの操作、設定など何でもでてきます
が、個人的には何でも出てきすぎて逆に見づらいので下記の検索機能を使い分けてます
Find Action
IDEの操作全般を検索&実行できます。
僕は⌥ + Spaceを割り当てています

Navigate→File
⌘ + shift + O
ファイル検索です。検索対象をきちんと入力しなくても、図のように一部をタイプすると拾ってきてくれます。

Find in Path
⌘ + shift + F
コード内の文字列検索です。正規表現での検索もできます。
またProjectウィンドウでディレクトリをクリックしてから検索することで、その配下のみを検索対象にできます

編集系
Markdown Navigator
公式ページ
Markdown編集のためのプラグインです
プロジェクト外のメモ帳的なプラグインScratchと組み合わせるといい感じ
料金は基本無料で、有料ライセンスを取得すると追加機能が利用できます(年$15.99)
できること
プレビューを確認しながらmarkdownが書けます。
有料版にすると下記のようなこともできます
- コードブロックの追加機能
- syntax highlight (これは無料版でできてほしい
) - 各言語での補完
- SQLコードブロック上で
⌘ + Enterを押すとクエリ実行- 僕はこれに感動してお布施しました
- 僕はこれに感動してお布施しました
- syntax highlight (これは無料版でできてほしい
- カラーの細かいカスタマイズとか色々
Live templete
いわゆるスニペットです
Preference > Editor > Live Templeteから設定できます

Abbreviation には入力する文字列を、Templete textには生成したい文を入力します
$ $で囲むと変数として扱われ、生成後にフォーカスがあたるようになります
Clone Caret Above / below
Editor操作ですがデフォルトでキーバインドがなかった気がしたので紹介します。
キャレットを複製して複数行編集ができます。keymapで好きなキーに設定しておくといいと思います
個人的には⌥ + ↑ / ↓とかにしてます
![openlogi-api] 2017-12-16 13-34-55.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F180075%2F163eec6b-bdbf-4e2b-5835-edd752a4aa26.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=224716af5e8a1c6a61cc19315cd0c3b1)
マクロ
複数のキー操作をマクロとして登録できます。
登録したマクロは通常の操作と同じようにショートカットキーを割り当てることが可能です。繰り返し入力するようなキー操作があれば登録しちゃいましょう
Edit Macrosから登録が可能です。
artisanコマンドの補完&実行(Laravelユーザのみ)
設定方法はこちらの記事が参考になります![]()
例えばartisan make で何が作れるんだっけ・・?というときもmakeだけ打てば分かります

勿論自前のコマンドも参照できます
コマンドの書き方は毎度忘れてしまうので、補完ができて助かってます
データベース周り
ご存知の方も多いと思いますがデータベースクライアントの機能があります
Find ActionとかでDatabaseで検索してあげればでてきます。最初に使う場合はDBの接続情報を設定してあげましょう
DBコンソール
Databaseウィンドウの右上のコンソールっぽいアイコンをクリックするとでてきます

このコンソールが優秀で、テーブル名、カラム名、SQLの構文などをバンバン補完してくれます
こいつのおかげでカラム名がうろおぼえでもスムーズに作業できます![]()

Reformat Code を押すといい感じに整形してくれて

テーブル定義
上記のコンソールでテーブル名を⌘ + Bや⌘ + クリックすることで、テーブル情報をいい感じに表示してくれます
![stockView2] 2017-12-15 01-29-06.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F180075%2F7dd577b0-df08-5c13-a2eb-3c8141dee42b.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c3387311f6e4762e14027d04caf14bfd)
おまけ的な機能
壁紙
背景画像が設定できます。こちらを参考に。
テーマ設定
Material Theme とか色々テーマのプラグインもあります。
Docker Integration
これにはさすがの僕もコマンド叩けばいいんじゃないかという気持ちがしています。いい使い方をご存知の方教えてください![]()
なお、Vagrantも同様のプラグインがある模様です。
vimモード
IdeaVimプラグインでvimモードにできます。あくまで擬似的なものなので完全に再現されているわけではないことにご注意ください
まとめ
以上、PhpStormの布教活動オススメ機能を紹介しましたが、まだまだ僕も使いこなせていないたくさんの機能があります。「こんなこともできるの?スゲー」と感動するのがPhpStormの楽しさの1つだと思います。みなさんもよかったら使ってみてください![]()

![stockView2] 2017-12-15 01-10-28.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F180075%2F2c2b6dd9-f610-dd60-bee1-cff74535cac0.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6d3b01c481c71e50e1181a9808398c34)
![stockView2] 2017-12-16 13-59-01.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F180075%2F77e658c8-556a-d6d4-af49-3a7cbc61ba9c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=025b6d9250de7c49bf4520d9231773f9)