はじめに
AndroidStudio(intellij)は豊富なリファクタリング機能があるのでうまく利用して快適なリファクタリング生活を送りましょう。
環境はMacでkeymapは Mac OS X10.5+です
リネーム
リネームは地味ですがよく使います。
メソッド名でもファイル名でも変更できます。
shift + F6
またはctrl + tのRefactor ThisメニューからRenameを選択
ファイル移動
ファイル上でF6
またはctrl + tのメニューからMoveを選択
Moveダイアログがでてくるので移動先指定で移動来ます。
が、普通にプロジェクトビュー上で
ファイルを選択状態で
cmd + x
移動先で
cmd + v
のほうが直感的かもしれないです。
ローカル変数→インスタンス変数変数
ローカル変数をクラス全体で使いたい時に勝手にお引越ししてくれるので便利です。
変数名の上にカーソルがある状態で
cmd + alt + f
またはctrl + tのメニューからFieldを選択
定数化
ローカル変数などをpublic static finalのクラス変数に簡単にすることができます。
定数に変数上にカーソルがある状態で
cmd + alt + c
またはctrl + tのメニューからConstantを選択
コード整形
下記の2つはmacroに設定して一括でできるようにしとくと良いかもしれません。
インデントなどの整形
ファイル内のインデントやスペースを揃えてくれます
alt + cmd + l
またはメニューのCodeからReformat code
import修正
ファイル内の不要なimportを消してくれます
ctrl + alt + o
またはメニューのCodeからOptimize imports
複数のファイルへのimport修正やコード整形の実行
対象フォルダ下のファイルを一括でコード整形してくれます。
プロジェクトビューの対象フォルダの選択状態で
alt + cmd + l
または右クリックかグローバルメニューのCodeからReformat code
ダイアログでimport修正など処理の追加や対象をフィルタリングして実行できます。
使ってないresouceの判定
プロジェクトビューのフォルダを選択した状態で
右クリック → Analyze → Inspect Code
Android > Lint > Performance → Unused resource内に使用していないresource一覧がでます。
メソッド宣言のリファクタ
メソッド名や引数の順番入れ替えやreturnの型、引数の型や名前など簡単に変更できます。
メソッド名上で
cmd + F6
またはctrl + tのメニューからChange Signatureを選択
ダイアログがでるのでそこで色々変更できます。
メソッド抽出
メソッドを外部クラスで抽出することができます。同じ処理がコード内にあると、それもまとめるかの選択がでてきます。
メソッドで抽出したい範囲を選択中に
cmd + alt + m
またはctrl + tのメニューからMethodを選択
また、ctrl + tのメニューのMethod Objectを選択すると別クラスを作ってその中のメソッドとして抜き出すこともできます。
safe delete
リソースファイルや変数など、使っている場所を確認して削除することができます。
右クリック → Refactor → safe delete
または普通に削除するときのダイアログでsafe deleteにチェックをいれて実行
ダイアログのView usagesボタンで使用している箇所の一覧がでます。
終わりに
内容被ってるところがありますがこちらも
→AndroidStudioのショートカット・便利機能・設定などいろいろ