📄

Android Studioで条件にあったファイルを一度に開く

に公開

やりたいこと

特定の条件にあったファイルを一度に開きたい。
Android StudioのCLI(studioコマンド)が便利。

準備

Android Studio CLIにPATHを通す。

  1. メニューから "Tools" -> "Create Command-line launcher..."
  2. CLIのファイルパスが表示されるのでコピー、PATHを通す。

古いバージョンのAndroid Studioの場合、pythonスクリプトの設置先を尋ねられる。

その場合はスクリプトの設置先を指定してそのスクリプトにPATHを通す。

開く

特定のファイル名のソースコードを一度に開く

$ find path/to/sources -name "*Fragment.java" | xargs studio

一部バージョン(Bumblebee等)のCLIでは件数が多いとエラーを吐いてしまうことがあるので注意が必要。

$ find path/to/sources -name "*Fragment.java" | head -n 30 | xargs studio
$ find path/to/sources -name "*Fragment.java" | tail -n 30 | xargs studio

そういった場合は適宜分割してやるとうまくいく。

$ find path/to/sources -name "*Fragment.java" -exec studio {} +

もしくはfind-execを使う。ただこれはこれでバージョンによってはいくつか取りこぼすことがあった…

git上で変更のあるファイルを開く

$ git diff --name-only | xargs studio

これは⌘+9からもGUIにたどり着ける。複数選択して⌘+↓で一度に開く。
特定のcommitの変更ファイルなども同様にできる。

grepしたファイルを開く

# ptのひと
$ pt -l "TODO" | xargs studio
# grepのひと
$ grep -rl "TODO" path/to/sources | xargs studio

ほかもシェルで探せるものはだいたい開けると思う。

注意点

pythonスクリプトを設置する頃のAndroid Studioだと、Android StudioをバージョンアップしてもCLIは更新されない(スクリプト置いてるだけ)のでバージョンアップ後は再度準備が必要。

株式会社ソニックムーブ

Discussion