名前のリファクタしたい! したい! 絶対したい!
食う寝る食べるリファクタする、というくらい私は日常的に「名前のリファクタ」をすることが多いです。
最初に考えていた名前が少しずつ機能とずれていったり、そもそも名前がイマイチだな、と後で思ったり…。
accessLog::Log("abc") -> accessLog::Write("abc")
こういうのがしょうちゅうあるので、VS Code で php 言語のリファクタできる環境がないか探しておりました。
Intelephense という拡張機能がよさげです。(Intellisense ではない。似た名前に注意)
ErrorLog を選択して 右クリック > Find All Referense
とするだけで、使っているコードを全て表示してくれます。
ただ、リファクタは有料のようだ…。
意外と安そう
古いサイトの導入例では年間 1000 円とあるので足踏みしていましたが、今は買い切り 1600 円のようでした。
1600 円なら元は取れそうです!
カードの情報はさすがに入れづらかったので、私は PayPal 経由で購入しました。
購入が完了すると、登録したメールアドレスにライセンスキーが送られてきます。
メールに記載のある通り、コマンドパレット(CTRL + SHIFT + P)を開き、Enter License Key と入力。
ライセンスキー入力欄に、メール記載のライセンスキーを入れ、ENTER。
無事完了すると、VS Code 右下に次のような Tips が表示されます。
動作確認
テキストエディタで、先ほどの ErrorLog に合わせて右クリックすると…。
シンボルの名前変更! これですね。
このように変更前のプレビューを行うこともできます(SHIFT + Enter)。素晴らしい。
関数だけでなく、クラスや変数なども勿論リネーム可能です。
動かないんだけど…
拡張機能で PHP Intelephense をインストール(有効化)している必要があります。
また、インストールされていても他の PHP のプラグインと相性が悪く、動かなくなっているのかもしれません(似たような名前の、Intellisense とか)。なるべく使うものだけに絞って整理してみてください。
私がインストールしている PHP 関連は PHP Debug、PHP DocBlocker、PHP Intelephense の3つだけでした。
インストール > 有効化した拡張機能は 拡張機能 > 拡張機能のフィルター(画面上の逆フラスコアイコン)> 有効
、を選択すること確認することができます。