PhpStorm 時短リファクタリング

AvatarPosted by

グリフォン 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ユーザーの方は覚えて使ってみて下さい!

リンク