グリフォン Advent Calendar 2018 19日目の記事を担当しました、PHPエンジニアのjhofanfdと申します。PhpStormで、リファクタリング時によく使う機能を紹介します。
※この記事はGRIPHONE Advent Calendar 2018 19日目の記事です。
https://qiita.com/advent-calendar/2018/griphone
https://adventar.org/calendars/3147
編集・入力
選択している文字列と同じ文字列を選択する(Alt + J / ⌃G)
複数箇所を選択する(Shift + Alt + クリック / )
矩形選択(Alt + ドラッグ / )
区切り文字までカーソルを移動 (Ctrl + ← / Ctrl + → / ⌥← / ⌥→)
区切り文字まで選択範囲を移動 (Ctrl + Shift + ← / Ctrl + Shift + → / ⌥ ⇧← / ⌥ ⇧→)
命名規則を変更(Shift + Alt + U / ⌥ ⇧U)
選択している文字列をスネークケース、キャメルケース、ケバブケースに変換できます
※CamelCaseプラグインをインストールする必要があります
組み合わせ技
これらの機能を組み合わせて使うと、クラスフィールドを連想配列にする時に便利です
展開
定数に展開 Extract Constant(Ctrl + Alt + C / ⌥⌘C)
数値、文字列を定数にします。名前は自動で設定されてしまうので、後で紹介している「名前の変更」で修正してください
変数に展開 Extract Variable(Ctrl + Alt + V / ⌥⌘V)
値、式を変数に展開します
引数に展開 Extract Parameter(Ctrl + Alt + P / ⌥⌘P)
値を引数に展開します。呼び出し部分の変更も自動的に行います
フィールドに展開 Extract Field(Ctrl + Alt + F / ⌥⌘F)
値をクラスフィールドに展開します
メソッドに展開 Extract Method(Ctrl + Alt + M / ⌥⌘M)
コードをメソッドに切り出します
変更
名前の変更 Rename(Shift + F6 / ⇧F6)
変数名、クラス名、メソッド名などの変更を行います。変更した名前を使っている部分や、クラス名の場合はファイル名も変更してくれます
引数の変更 Change Signeture(Ctrl + F6 / ⌘F6)
メソッド引数の削除、追加、順番の変更を行います
終わりに
今回は、リファクタリング時によく使う機能をいくつか紹介しました。他にもたくさんの機能があり、使いこなせるとコーディングの時間を減らすことができるので、PhpStormユーザーの方は覚えて使ってみて下さい!
リンク
- CamelCase Plugin https://plugins.jetbrains.com/plugin/7160-camelcase
- JetBrains公式マニュアル 日本語版 https://pleiades.io/
- Extract https://pleiades.io/help/idea/extract-constant.html
- Rename https://pleiades.io/help/idea/rename-refactorings.html
- Change Signeture https://pleiades.io/help/idea/change-signature.html