カテゴリー: ショートカット

Android Studioで利用できるショートカットを紹介しています。ショートカットキーを覚えておくと開発が捗るので積極的に活用していきましょう。

Android Studioでソースコードを読むのに覚えておくと便利なショートカット

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

最近になってようやくサンプルなどのソースコードを読むようになったのですが、「あ、こんな便利な機能あったのね」というのを紹介します。

ショートカットキーはMacのものを書いてます。メニューにショートカットキーも表示してくれているので、Windowsの方はそこで調べてください。

Find Usages

調べたい変数やメソッドにカーソルを合わせてOpt+F7

Edit > Find > Find Usages

変数やメソッドがどこでどう使われているか調べるのに使います。今まで右クリック→Find Usagesで表示させてました。もしくはIdeaVim使っているので「/文字列」で検索してました。

メンバ変数(フィールド変数)だとValue readでどこで参照されているかが、Value writeでどこで変更されているかが表示されます。

フィールド変数でFind Usages

メソッドだと、どこで呼ばれているかが表示されます。

メソッドでFind Usages

プライベートフィールドに対して特に効果を発揮する機能です。

ちなみにFind Usagesで使われ方を表示した後は、Cmd+Shift+↓(↑)で次に出てくるところに飛んでくれます。さらにいうとCmdとOptを押し間違えると、表示させてる行の位置が入れ替わったりするので注意してくださいね。

戻る

Cmd+[

Navigate > Back

日本語キーボードだと[ではなく@になります。

Find Usagesなどを使ってジャンプした場合に、ジャンプ前に読んでた場所に戻ってくれます。今まで「前読んでたところどこだ・・・」とイライラしながら探してました。

戻りすぎたらCmd+](日本語キーボードなら[)で1つ先へ飛びます。

この機能を使わずしてソースコードは読めない。

とりあえずこの2つの存在を知っているだけで格段にソースコードを読む辛さが緩和されます。

Declaration

Cmd+b もしくはCmd押しながらクリック

Navigate > Declaration

私はDeclarationの意味をよく分かってないのですが、宣言先に飛ぶってことなんだと思います。

親クラスで定義されてるメソッドを呼んでる時に、そのソースコードに飛ぶときに使ってます。例えば何気なく使ってるfindViewById()はいったい何やってんだって調べたりする感じです。Cmdキー押しながらクリックするだけなんで、ショートカットキー覚えてなくても行けそうな気はします。

Android Support Libraryのクラスだとソースコードまで付属してないのでそのままでは見れないんですけどね(見れないわけではないようです)。

Android標準のクラスならソースコードもインストールしてあれば確認することができます。Android SDK ManagerでSources for Android SDKをインストールしておく必要がありますが、開発する上ではないと困ると思うのでインストールしておいた方がいいでしょう。

SDK ManagerでSources for Android SDKをインストールしておく

Javadoc表示

Javadocを確認したいメソッド等にカーソルを合わせてF1Shift+F1でブラウザで見れます)

View > Quick Documentation

私の場合、読む時より書くときによくお世話になってる機能です。

知らずに使っていると損

ソースコードを読むのはものすごく勉強になるのに、今まで避けてきていたのはひとえに読むのが大変だったからでした。こういった便利な機能を知らなければ、そりゃ億劫になるのも当然と言えます。

使いこなしている人にとっては当然の知識かもしれませんが、初心者にとってはこんなこともわからないことなのです・・・。

調べてみるともっと便利な機能があるのかもしれません。「こんな便利な機能もあるよ」というのがあったら教えていただけると助かります。

特定のブロックを選択するのに便利なショートカット

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

例えば<Button>タグのブロックを選択したりだとか、LinearLayoutの中身を選択したりだとか、そういう選択の仕方をする際に覚えておくと便利なショートカットです。

opt + ↓で選択範囲を1段階狭くし、opt + ↑で選択範囲を1段階広くします。

選択範囲を増やす・減らす

XMLだけでなく、Javaのコードでifブロックだけを選択したりするのにも利用できます。これでまた1つマウスの呪縛から解き放たれましたね。

編集したいファイルへ素早く移動する方法

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

エディタタブがたくさん開かれていくと、編集したい対象を探すのに苦労します。タブを1つずつショートカットキー使って移動していくのもいいのですが、それはそれで現在地を見失いがちで困りモノです。

Android Studioで現在開かれているファイルの一覧を表示したりできないのかなと思ったのですが、そのものズバリな機能は見当たりませんでした。とり得る対策は以下の2つかなと思います。

隠れているタブを表示する

Android StudioのメニューのWindow > Editor tabsの中にshow hidden tabsというものがあります。これを選択することで、ウィンドウ中に表示しきれていないタブを表示させることができます。

show hidden tabs

ちなみに初期設定ではショートカットが割り当てられていないので、私はcmd + shift + Pを割り当ててみました。タブの移動ショートカットの隣にあるので押しやすいかなと思っただけなんですけどね。

Keymapの設定

ファイル一覧から選択する

cmd + oを押すとこのような検索窓が開きます。ここで編集したいクラス名を入力してやると、対象のクラスに移動することができます。

Navigate class

レイアウトXMLをいじりたいといった場合には、検索対象をクラスではなくファイルにしてやると選べます。ショートカットはcmd + shift + oです。ただしファイルにすると、画像ファイルなども引っかかるようになるので、逆に探しにくいかもしれません。

さらにcmd + opt + oではSymbol検索になります。これはメソッド名やフィールド名などで検索を行うことができます。いじりたいメソッド名がはっきりしている場合はこれを使うと楽かもしれません。

Android Studioのエディタでタブの切り替えをキーボードを使って行う

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

Android Studioで作業していると、エディタのタブがどんどん増えていきます。タブが画面内に収まりきらなくなったらマウスで選択するのが非常に面倒くさくなります。そんなときはキーボードショートカットを利用しましょう。

cmd + ,でPreferencesを開き、キーマップを選択します。そのままだとキーマップ全てが表示されて非常に見づらいので、検索窓にtabと入力してやると、タブ関連のキーマップのみに表示を絞ることができます。

キーマップ エディタタブの切り替え

キーマップの表示上はcmd + shift + ]で順送り、cmd + shift + [で逆送りですが、キーボードの配列がJIS配列の場合この通りに動きません。これはAndroid StudioのベースとなっているIntelliJ IDEAのキーマップがUS配列に依存しているからだそうです。(他のキーマップでも同様のことが起こる)

実際にキーマップを変更してみるとわかりますが、[を入力すると]が表示され、]を入力すると\が表示されます。なんとややこしいことか・・・。

JIS配列のキーボードの場合、タブの移動のショートカットはcmd + shift + [が順送りで、cmd + shift + @が逆送りになります。

メソッドの引数を知りたいときに便利なショートカットキー

この記事は最終更新から3ヶ月以上が経過しています。情報が古い可能性があります。

Android Studioでコーディングしている時に、何らかのメソッドを叩くと引数の一覧が表示されます。

Parameters popup

これが非常に便利なんですが、能動的にこれを出す方法が分かりませんでした。コード補完で入力していると勝手に出てきてくれて便利なんですが、ちょっとカーソルをよそにやると消えてしまう。再度出す方法が分からないので、いちいち今まで入力したものを消してメソッド部分から再入力してました。

すごい便利なのにこれなんなんだろう・・・とモヤモヤしていたのですが、ようやく正体がわかりました。この機能はParameter Infoという機能で、Android Studioの上部メニューのViewの部分から呼び出せます。

Parameter Info

ショートカットキーはCmd + pです。これでコーディングがかなり捗ります。