📄
Android Studioで条件にあったファイルを一度に開く
やりたいこと
特定の条件にあったファイルを一度に開きたい。
Android StudioのCLI(studio
コマンド)が便利。
準備
Android Studio CLIにPATHを通す。
- メニューから "Tools" -> "Create Command-line launcher..."
- 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