こんにちは、U-NEXTでAndroidエンジニアをしているsaiki-iijimaです。
この記事はU-NEXT Advent Calendar 202420日の記事です。 昨日の記事はMiao JiangさんのLLM Model based Embeddings!でした。
今日はAndroidエンジニアとして、日々の開発で活用しているAndroid Studioの便利な機能を紹介します。開発効率を劇的に向上させるものばかりです。 きっと新しい発見があると思います。
ショートカットは全てMacOSのものです。Windowの方は⌘をwinに、⌥をaltに読み替えていただくと大体そのまま使えると思います。
AndrodStudioに限らずIntelliJ系のIDEでは使えると思うのでAndroidエンジニア以外のみなさまもぜひ見てみてくださいね!
Analyze Data Flow to Here#
ショートカット#
なし (Actionsメニュー [⌘⇧A] から実行、または自分でショートカットを登録)
機能#
選択した変数に、どのような値がどのように代入されてきたのかを、ツリー構造で一覧表示します。データの起源を辿り、変数の値がどのように変化していくかを視覚的に確認できます。
ユースケース#
変数の値の出所を調べたい場合に便利です。例えば、Jetpack ComposeのonClick()
で何が起きるかを確認したい場合、onClick
にカーソルを置き、⌘⇧A → “Analyze Data Flow to Here” を選択します。
するとこのようにAndroidStudioの下部にデータの流れがツリー構造で表示されるのでどんなに深い構造でも一発で大元の処理を見つけることができます…!
神機能…!!
もちろんfunction型ではない普通の値にも使えるので、この変数の値ってどこで決まるんだろう…っという時も
一発でRepositoryから取ってきてることがわかってしまいます。
この機能を知った時は流石に震えました。 大元から末端を辿る Analyze Data Flow from Here もあるので合わせて覚えておくと便利です。
複数選択#
ショートカット#
ctrl + G
機能#
選択したテキストと同じテキストをすべて選択します。カーソルも複数出現するため、複数箇所の同時編集が可能です。
ユースケース#
複数の箇所をまとめて変更したい場合に便利です。 例えばUnitTestで似たような箇所を一気に変更したい時なんかに輝きます。
他のショートカットとも組み合わせられるので実に色々な使い方ができます。
gifでは単語単位移動(⌥→/⌥←), 大文字小文字変換(⌘⇧U), 右側削除(ctrl + K) を組み合わせています。
選択範囲拡張/縮小#
ショートカット#
拡張:⌥ + ↑ 縮小:⌥ + ↓
機能#
選択範囲をコンテキストに合わせて拡張または縮小します。例えば、単語にカーソルを乗せている状態で⌥ + ↑を押すと、単語全体が選択されます。
ユースケース#
単語単位、メソッド単位、if
文単位など、目的の範囲を選択したい場合に便利です。
コードの修正や削除を行う際に、正確な範囲を選択するのに役立ちます。
最近使ったファイル一覧#
ショートカット#
⌘ + E
機能#
最近開いたファイルの一覧を表示し、選択したファイルに移動します。編集したファイルのみに絞り込むことも可能です。
ユースケース#
直前に開いていたファイルに戻りたい、最近開いたファイルを探したい場合に便利です。 目的のファイルに素早くアクセスできます。
Scratch File (スクラッチファイル)#
ショートカット#
⌘ + ⇧ + N
機能#
一時的なファイルを作成します (保存されません)。一時的なメモやちょっとしたコードの実験を行うのに便利です。
ユースケース#
一時的なメモ、JSONの整形、コードのテスト実行などに便利です。 すぐに破棄できるため、気軽に試行錯誤できます。
ファイル形式を選べるため、json形式のメモにjsonを貼り付けてサクッとformatする、といったことができます。
構造がおかしい場合にはエラーも出してくれます。 ちなみに自動formatは⌥+⌘+lです。
またkotlinを実行できるので、ちょっとコードの挙動を確認したい時にも使えます。
gifでは0123をtoIntしたらどうなるんだっけ〜?を確認しています。
ファイル構造#
ショートカット#
⌘ + F12
機能#
ファイルの構造 (クラス、関数、メンバ変数の一覧) を表示します。ファイル内の要素を一覧表示することで、コード全体の構成を把握しやすくなります。
ユースケース#
ファイル全体の構造を把握したい、特定の関数を探したい場合に便利です。特に大きなファイルの場合、構造を把握することで作業効率が向上します。 文字を入力することで絞り込めるので、onから始めるメソッドだったと思うんだけどなんだったっけな〜みたいな時に非常に助かります。
変数/関数として切り出し#
ショートカット#
変数: ⌘⌥V 関数: ⌘⌥M
機能#
選択したコードを新しい変数または関数として切り出します。重複したコードを検知し、一括で置き換える機能も備えています。
ユースケース#
コードの重複を解消したい場合に非常に便利です。
ブックマーク#
ショートカット#
登録: F3 一覧: ⌘ + F3 ショートカット登録: ⌥ + F3
機能#
コード内の特定の行にブックマークを登録し、後から簡単に移動できます。名前を付けたり、ショートカットキーを登録することも可能です。
ユースケース#
長いコードを読み解く際に、重要な箇所にブックマークを登録しておくと便利です。特定の箇所へ素早く移動できます。
矩形選択#
ショートカット#
⌥ を2回連打して2回目を押し続けながらカーソルキーで移動 (隠しコマンド…?)
機能#
矩形範囲を選択できます。(カーソルが増える)
ユースケース#
なんか四角く選択したいなあみたいな時に便利です(たまにある)。
選択箇所の型を表示#
ショートカット#
ctrl + ⇧ + P
機能#
選択した範囲の型(クラス)を表示します。
ユースケース#
「この変数の型は何だっけ?」と確認したい時に便利です。
ファイル内のエラー箇所にジャンプ#
ショートカット#
F2
機能#
ファイル内のエラー箇所にカーソル移動します。
ユースケース#
大きいファイルのどこかでエラーが出ている時に便利です。 F2キーを押してエラー箇所に移動し、⌥ + Enterで大体なんとかなりますよね。
まとめ#
普段よく使っている機能の中から特に便利なものと、あまり知られていなさそうなものを選んで紹介してみました。
もしもっとAndroid Studioのショートカットを知りたい方は、こちらのリポジトリもぜひご覧ください。(昔、とある発表のために同僚と一緒にまとめたものです。)
Throw away your mouse!
便利な機能を駆使して来年はもっとAndroidアプリ開発を加速させましょう! いい機能があったらぜひ教えてください。
宣伝#
Droidkaigi2024の動画みてね!#
Droidkaigi2024でCostomLayoutの基本を学ぶ発表をしました。 結構しっかり作ったのでよろしければぜひみてみてください。
https://www.youtube.com/watch?v=&t=76s
U-NEXT TECH BOOK STREAM 02#
U-NEXTのエンジニアの知見がギュッと詰まった一冊です。 102ページの大作ですがお値段なんと0円です。ぜひ読んでください。(私は書いていません!)
https://techbookfest.org/product/37cbR1NLH7AzzCEQbkzpnn?productVariantID=8JJQARfCz0047PpqnrKSxZ
U-NEXTではエンジニアを募集しています!#
募集しています。興味がありましたらぜひご応募ください!お待ちしております。
https://careers.unext.co.jp/en
以上です。 読んでいただきありがとうございました。
ではまた。