Posted at

AndroidStudioリファクタリング操作Tips

More than 3 years have passed since last update.


はじめに

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のショートカット・便利機能・設定などいろいろ