AndroidStudioの便利なショートカットを使いこなしたい

自分はこれまでAndroid Studioでなんとなく便利なショートカットとかを見つけて、なんとなく使っていました。
そこで、ちょっと便利そうなのがないのか調べてみたので、とりあえず自分が使っている便利なショートカットと、これから使うであろう便利そうなショートカットを共有します。
Mac用のショートカットになっています。

# 自分がよく使っているショートカットなどの便利機能(よく使う順)

## 最近使ったファイルを表示する
`command + e`
素早く最近使ったファイル一覧が出てきます。
エディタ領域が広くなり、またタブの中から探してしまう手間がなくなるので、自分はタブ表示をOFFにしてAndroidStudioを使っていて、これをタブ切り替えのように利用しています。
![image](https://qiita-image-store.s3.amazonaws.com/0/27388/cc822d10-37c3-0ad7-6063-a15c93f46516.png)

## フォーマットして次の行を開く
`command + shift + enter`
癖にするとフォーマットし忘れが減るので便利です。
![formatnewline.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/41d0fbc3-dabe-3b24-ad24-ccb85e756bba.gif)

# Postfix Completion
例えば
`articleArray.for`と入力して
こんな感じに保管させることができます

```java
for (Article article : articleArray) {
}
```
![postfixcompletion](https://qiita-image-store.s3.amazonaws.com/0/27388/f2491c4a-d5dc-e196-ec7e-8948e830e6d1.gif)
こちらの記事に詳細を書いています。
http://qiita.com/takahirom/items/ac1d1b08351610dfcc43

## シンボルの検索
`command + alt + o`
クラス名やメソッド名を検索するのに利用しています。
`shift+shift`でも同様の検索ができるのですが、shift+shiftはライブラリの中であったりとても広い範囲で検索してしまうので、不要な検索結果が多いのでこちらを利用しています。
![image](https://qiita-image-store.s3.amazonaws.com/0/27388/c6433daa-6428-527f-b9c0-af31a933bd03.png)

## 引数のリストを表示する
`command + p`
引数なんだっけっていうの割とよくあるので、、
![image](https://qiita-image-store.s3.amazonaws.com/0/27388/edba5df1-9c3f-065f-737a-a2a0f8f2d11b.png)

## メソッドなどの呼び出し先を開く
`command + b`
`command+クリック`を処理追いかけるたびにやっていたのですが、こちらのほうが早そうだったのでこちらでやっています。
![openmethod.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/58faef12-a489-83a4-3167-c0bc9d784df5.gif)


## メソッドの呼び出し元一覧を表示する
`ctrl + alt + h`(コールヒエラルキーでショートカットを暗記)
処理の流れを追いかけるのによく利用します。
![callpoint.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/efd68be2-0302-ac74-19e5-b4d4c2400ebc.gif)


## インターフェースなどを実装しているメソッド一覧を表示する
`左の(I↓)みたいのをクリックする`
コード追っていたらinterfaceだったみたいのはよくあって、大体は実装をみたいためです。
![showimplement.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/756dbe5a-84f1-4b72-35ee-f9ea97e6c6b0.gif)

## いろんなアクションを検索して使う
`command+shift+a`
コマンドは覚えていないけど便利な機能にアクセスしたいときに使います。
大体のAndroidStudioの機能はこれでアクセスできるので便利です。
![action.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/fdaad965-5c46-354b-2bef-2decefe8a56d.gif)


# これから使いたいショートカットなどの便利機能
Android StudioはIntelliJベースなので、IntelliJ IDEAIntelliJ IDEA Video Tutorialsで面白そうな動画をひと通り見てみて、便利そうなものを紹介します。
https://www.youtube.com/playlist?list=PLPZy-hmwOdEXdOtXdFzyx_XCnrF_oD2Ft

## カーソル位置の履歴を戻る、進む
メソッドの呼び出し先を開いた時に、元の場所に戻りたいとかなって戻れなくて困っていました。
日本語キーボードのこれで戻る進むができるようです。
戻る:`command+@`
進む:`command+[`
知らなかったのですが、基本操作ですし、ちょっと使ってみたら普通に便利でした。

## 引数補完を表示する
`ctrl + shift + space`
無名クラス内で引数を入力したりするときにいちいち`MainActivity.this`とか入力するのがめんどうでしたがこれで解決できるみたいです。
![completion.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/a634abb3-4a38-2559-32e0-8849d7ea33a2.gif)


## フルスクリーン
`command+shift+F12`
ログキャットとかファイル一覧が隠れます
コードだけ見たいときに便利そうです。
![fullscreen.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/8248241e-6aa7-1bd2-99c1-ee5ef8260241.gif)

## プロジェクト一覧が開いているファイルの位置に移動するようにする
AutoScroll from sourceを有効にする
![move.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/e9f7d74d-1abe-2f47-b711-0e367769c4ea.gif)

## ADB Ideaでデータ削除して再起動を行う
Preferences->Plugins->Browse repositoriesでADB Ideaを検索してインストールしてください
ctrl+shift+aで選択パネルを出せるのですが、アプリをアンインストールしたり、起動させたり、データを削除して起動したりできるようですごく便利です。

![output.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/42d554b3-97e5-18b7-abbb-a16a98b46982.gif)

  

   



# 他の記事を参考にさせていただいたもの
やはり他の方の記事を見ると知らなかったものがたくさん出てきます。どんどん追加していきたいです。

> 普段使っている道具を見直す〜Android Studio編〜
> http://qiita.com/shikato/items/518eb763227db8acecf0


## Generate (いろいろなコードを生成する)
`ctrl + Enter or command + n `
よくコンストラクタを作るときに利用していますが、toStringで結構いい感じにメンバ変数を出せたりするのは知りませんでした。役に立ちそうです。

![generate.gif](https://qiita-image-store.s3.amazonaws.com/0/27388/c36d6726-92cf-4731-56ee-a255a7711951.gif)


(追加編集中..)





# まとめ
ここまでいろいろなショートカットを紹介しましたが、私はVimの操作ができるようになるIdeaVimも利用していて、Vimの機能とこれらのショートカットを利用することで、快適にコーディングができていると感じています。
ただ自分も調べていくうちに全然知らなかったものが出てきて、まだまだいろいろなショートカットや便利機能がありそうだと感じました。
これはよく使う！っていうショートカットなどがありましたらコメントなどでぜひ教えてください！！