Android Studio Tips 30選 for Mac

# はじめに
Android Studioを起動すると、初期状態では「Tip of the Day」が表示されます。
意外と毎回ちゃんと読むと本当に役立つTipsが多いので、自分が見かけたTipsから30個くらいをまとめてみました。
なお、全て確認して30個選んだというよりは、自分がいくつか見た中でこれ使うなーとかこれ良さそうとか思ったやつを紹介してます。
[AndroidStudioで開発を始める前に確認すべきショートカットのあれこれ](https://qiita.com/yuukiw00w/items/5f8ba5f2a56e7621a6c7)という記事でその他の諸々もまとめてますのでそちらも合わせてご確認ください。

# Tip of the Day
## ^Hで継承構造を確認
![スクリーンショット 2018-03-20 8.20.27.png](https://qiita-image-store.s3.amazonaws.com/0/188222/1c5d0bfd-793b-9c4b-767c-ca174baf0729.png)

* ^Hでクラスの継承構造をツリー状で表示できる

## ⇧⌘Vでクリップボードの一覧からペースト
![スクリーンショット 2018-03-20 8.20.25.png](https://qiita-image-store.s3.amazonaws.com/0/188222/801fa425-fe08-f28c-7236-fcd21821b6c8.png)

* コピペ多用民には有用な複数のコピー履歴からペーストができる機能

## ^↑、^↓でメソッド間の移動
![スクリーンショット 2018-03-20 8.20.18.png](https://qiita-image-store.s3.amazonaws.com/0/188222/58e22698-1815-ea1c-db4c-28cef0aa7291.png)

## F2、⇧F2でハイライトされたsyntaxエラーの位置に移動
![スクリーンショット 2018-03-20 8.20.10.png](https://qiita-image-store.s3.amazonaws.com/0/188222/f81ff2a7-077c-8756-819b-2e67b048c59d.png)

* F2、⇧F2でハイライトされたsyntaxエラーの位置に移動できる
* ⌥⌘↑、⌥⌘↓でコンパイラのエラーメッセージor検索結果に移動できる
* 警告をスキップしたい場合は、validation side bar / marker barを右クリックし、[Go to high priority problems only]を選択する

## ⌘Eで最近開いたファイルのリストを表示
![スクリーンショット 2018-03-20 8.20.08.png](https://qiita-image-store.s3.amazonaws.com/0/188222/dad31fb3-e739-1a6a-a730-e9a3da2cb42f.png)

* ⌘Eで最近開いたファイルのリストが表示できる。選択してエンターを押すとそれを開くことが可能

## 変更履歴を見る方法
![スクリーンショット 2018-03-20 8.20.03.png](https://qiita-image-store.s3.amazonaws.com/0/188222/454ddb33-dc7a-6823-b94a-22a119767216.png)

* Local History | Show Historyを見ると自分自身のローカルの変更履歴が見られる。覚えておくとちょっとした時に便利VCSのメニューの中にあるけど、Shift×2回で検索する方が早い。Localじゃない方のShow Historyも何気に便利

## ⌥⇧Cでプロジェクトに対して加えた自分の変更履歴を表示
<img width="798" alt="スクリーンショット 2018-07-08 9.56.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/188222/058cc91e-0989-7192-e69e-e73fa6935f91.png">

* 自分が加えた変更履歴が見れる。遡って前の状態を確認したいときとかに使える

## ⇧⌘F7で使用箇所をハイライト
![スクリーンショット 2018-03-20 8.19.58.png](https://qiita-image-store.s3.amazonaws.com/0/188222/bf7f91f4-e707-bc95-7570-5deaa9d29d11.png)

* ⇧⌘F7でその変数の使用箇所をハイライトできる
* ハイライト状態で⌘G、⇧⌘Gするとハイライト箇所に移動できる
* ⎋でハイライトをやめることができる

## ⇧⌘⌫で最後に編集した箇所に移動
![スクリーンショット 2018-03-20 8.19.56.png](https://qiita-image-store.s3.amazonaws.com/0/188222/3db6a2aa-c6d0-f1f4-bba9-680d69d04c75.png)

* ⇧⌘⌫で最後に編集した箇所に移動できる。異常に便利

## ⌘Pでparametersの確認
![スクリーンショット 2018-03-20 8.19.54.png](https://qiita-image-store.s3.amazonaws.com/0/188222/71b6cd20-16fa-2794-7537-7022ded137fa.png)

* カーソルをメソッドのカッコ内に移動させて⌘Pを押すと、有効なパラメータのリストを表示できる

## ⌘Jで有効なLiveテンプレートを確認
![スクリーンショット 2018-03-20 8.19.49.png](https://qiita-image-store.s3.amazonaws.com/0/188222/994f9e5d-79a4-2807-7fd6-4808b2342d50.png)
![スクリーンショット 2018-03-20 8.20.12.png](https://qiita-image-store.s3.amazonaws.com/0/188222/808d8557-8fec-3921-0883-e34e76d15f38.png)

* itarと打ってタブキーを押すとfor文のテンプレートが挿入される。こうしたLiveテンプレートは多数あるので活用すること
* 有効なLiveテンプレートは⌘Jで確認ができる

## ⌘Dで簡単コピー
![スクリーンショット 2018-03-20 8.19.47.png](https://qiita-image-store.s3.amazonaws.com/0/188222/739ead64-c194-20d3-1991-bb97ad3a3bf3.png)

* ⌘Dを押すと入力位置の行と同じコードをすぐ下の行にコピペしてくれる。範囲を選択しているとその範囲分コピーしてくれる。ほとんど使わないだろうけどコピペしてちょっと修正してみたいな作業のときなんかに便利

## ⇧F1でドキュメントを開く
![スクリーンショット 2018-03-20 8.19.43.png](https://qiita-image-store.s3.amazonaws.com/0/188222/0b125796-7d26-61cf-dd05-1272fcf97efa.png)

* 入力位置を`Context`などに移動して⇧F1を押すとブラウザで公式のドキュメントが開く

## ⌘/、⌥⌘/でコメントアウト
![スクリーンショット 2018-03-20 8.19.41.png](https://qiita-image-store.s3.amazonaws.com/0/188222/7d40b970-327a-ca0f-bb76-7121fcef5a2a.png)

* ⌘/で//によるコメントアウト、⌥⌘/で/**/によるコメントアウトができる（テキストを選択しているとその範囲でコメントアウト）

## ⌥⌘Vで変数への抽出
![スクリーンショット 2018-03-20 8.19.38.png](https://qiita-image-store.s3.amazonaws.com/0/188222/9e205e7e-9992-a831-b293-fef00aff6300.png)

* メソッドの引数にメソッドが入っていたりするとコードが複雑なので、そういう時は選択して⌥⌘Vで変数を抽出しよう（⌥↑と相性抜群。⌥↑で必要な範囲を選択、⌥⌘Vで変数抽出しよう）

## ⌥F8でデバッグ中に式を実行して値を確認
![スクリーンショット 2018-03-20 8.20.32.png](https://qiita-image-store.s3.amazonaws.com/0/188222/52f2e158-7532-d326-b69a-83ba56386bfc.png)

* デバッグ中に評価したい式を選択して⌥F8を押すと、その式を実行した結果が表示される。式の選択には⌥↑を使うと便利

## ⌥↑で選択範囲を拡大
![スクリーンショット 2018-03-20 8.19.36.png](https://qiita-image-store.s3.amazonaws.com/0/188222/11322a3e-4646-c126-34a8-cfad4ac8143c.png)

* ⌥↑でテキストの選択範囲を良い感じに拡大してくれる。ここには記述がないが、⌥↓で逆に選択範囲を狭めてくれる

## ⌥⌘Bで実装を確認
![スクリーンショット 2018-03-20 8.19.34.png](https://qiita-image-store.s3.amazonaws.com/0/188222/f31ef019-232c-5e00-9323-dd63767d4dcd.png)

* interfaceなどのメソッドに対してその実装を確認したい場合は⌥⌘Bで確認が可能（abstractメソッドの部分に入力位置を移動して⌥⌘Bで一覧が表示される）

## ⌥⌘Tでtry/catchを生成
![スクリーンショット 2018-03-20 8.19.28.png](https://qiita-image-store.s3.amazonaws.com/0/188222/16d6a997-ac0e-3e4a-8dbb-cf45ed021804.png)

* ⌥⌘Tでtry/catchやif/elseなどのコードを囲むブロックを簡単生成
* この生成されるコードのテンプレートは設定から修正が可能

## エディター画面に戻りたいなら⎋キー
![スクリーンショット 2018-03-20 8.19.26.png](https://qiita-image-store.s3.amazonaws.com/0/188222/67d309a8-eb11-c6ea-81f8-b6ea16eddc2a.png)

* ⎋キーでいつでもeditorにフォーカスを戻せる
* ⇧⎋を使うと今いるtoolウィンドウを隠しながらeditorに戻せる
* F12でさっきまでフォーカスしてたtoolウィンドウに戻れる

## ⌥F1でフォーカスを変更
![スクリーンショット 2018-03-20 8.19.19.png](https://qiita-image-store.s3.amazonaws.com/0/188222/fc0e30ca-cb28-39c5-5ebb-67148d2b5393.png)

* ⌥F1でプロジェクトペインに移動したりできる。タッチパッド/マウスとおさらばする為には初期ではよく使うであろう機能

## ⌘Nでgetter/setter/Constructor等を生成
![スクリーンショット 2018-03-20 8.19.16.png](https://qiita-image-store.s3.amazonaws.com/0/188222/7546f423-1e2d-6a09-1975-32359a59072a.png)

* エディター上で⌘Nを使うとgetterやsetterメソッドなど色々なものが簡単に生成できる。とても便利

## Shift＋クリックでタブやtoolウィンドウを閉じる
![スクリーンショット 2018-03-20 8.19.13.png](https://qiita-image-store.s3.amazonaws.com/0/188222/6d10dc38-0b05-1126-d50d-dbeb0e9e768f.png)

* マウスカーソル当ててShift押しながらクリックするとタブを閉じられる。コマンドよりマウスカーソル使って操作したい派には便利かも

## ^⇧Spaceで補完
![スクリーンショット 2018-03-20 8.19.03.png](https://qiita-image-store.s3.amazonaws.com/0/188222/8ed02fcf-0995-1d78-99dd-ef548edf9dfd.png)
![スクリーンショット 2018-03-20 8.19.31.png](https://qiita-image-store.s3.amazonaws.com/0/188222/374369a5-f6ac-b178-1093-19d764005438.png)
![スクリーンショット 2018-03-20 8.19.45.png](https://qiita-image-store.s3.amazonaws.com/0/188222/fb1e80d5-7ae1-1a2d-9f8d-5182b5fbe020.png)

* ^⇧Spaceで良い感じに補完してくれる。良い感じにしすぎでtipで良く出る
* ⇧は押さずに^Spaceにすると良い感じに名前を付けてくれるという↓のようなtipもある

![スクリーンショット 2018-03-20 8.19.52.png](https://qiita-image-store.s3.amazonaws.com/0/188222/28b84f9b-3c51-4ec4-47c6-128a9adf41ac.png)
![スクリーンショット 2018-03-20 8.20.16.png](https://qiita-image-store.s3.amazonaws.com/0/188222/bd3b6f84-dc22-aee7-603e-9e00866ceefe.png)

## コード補完時のタブキー
![スクリーンショット 2018-03-20 8.19.06.png](https://qiita-image-store.s3.amazonaws.com/0/188222/71aa3421-113b-b0cc-4241-129708c7fcef.png)

* コード補完の選択はタブキーで決定しよう。エンターキーとは違って、残りの部分を上書きしてくれるからメソッド/変数名を置換するとき便利。

## ⌃O、⌃Iで簡単にoverride生成
![スクリーンショット 2018-03-20 8.17.06.png](https://qiita-image-store.s3.amazonaws.com/0/188222/f9c58029-81fa-5e5d-f6b8-f8e17b28ce0e.png)

* ⌃Oで継承元のクラスのoverrideメソッドが簡単に生成できる。
* ^Iでinterfaceのメソッドが簡単に生成できる。

## tree viewsでタイプすると自動で検索モード
![スクリーンショット 2018-03-20 8.19.23.png](https://qiita-image-store.s3.amazonaws.com/0/188222/85bbc2ca-cb77-671e-caaa-f2c6ce2b249a.png)

* 画面左側のプロジェクトペインとかがある場所（tree views）でタイプを開始すると検索が自動でスタートするよ

## ブレークポイントマーカー上の右クリックでスピードメニューを表示
![スクリーンショット 2018-03-20 8.20.29.png](https://qiita-image-store.s3.amazonaws.com/0/188222/27e7d0c0-4ccb-a023-5605-3882c86f25f1.png)

* デバッグの時にたまに便利なブレークポイントの調整はマーカー上の右クリックから可能

## Refactor | Copyからクラスのコピー
![スクリーンショット 2018-03-20 8.20.23.png](https://qiita-image-store.s3.amazonaws.com/0/188222/5424fb51-197f-51c9-189f-504488d43b09.png)

* F5でも可能だが、クラスを丸ごと複製できる。複製してちょこちょこと書き換えて作るようなケースで有用

## ^⇧QでContext情報表示
![スクリーンショット 2018-03-20 8.20.05.png](https://qiita-image-store.s3.amazonaws.com/0/188222/4c2fc1fb-a818-0d42-fdda-2a7e9822e510.png)

* ^⇧Qで現在のカーソル位置があるメソッドの名前が上の方に表示される。正直そんな長大なメソッド書くのが悪いし、そこまでメソッド名をスクロールせずに見たいケースが思いつかなかった

# 30選落ちのその他紹介
## フォーマッターもあるよ
![スクリーンショット 2018-03-20 8.20.01.png](https://qiita-image-store.s3.amazonaws.com/0/188222/7b24aa1e-8f0a-22a4-f78b-b553dfe7282f.png)

* importの最適化とかあるんだけど、基本Android Studioを素直に使ってると汚くはならないからいらない気はする。キーボードショートカットもあるんだけど、それも紹介してないあたりが弱い。既存のコードを一気に整形するときとかは使ったりするかも。

## Editor設定からメソッド間に区切り線を表示
![スクリーンショット 2018-03-20 8.20.14.png](https://qiita-image-store.s3.amazonaws.com/0/188222/4471e55e-dcb1-e4e8-912e-eb6b3de71e38.png)
![スクリーンショット 2018-03-20 14.04.29.png](https://qiita-image-store.s3.amazonaws.com/0/188222/b1b85579-07a1-a84d-eb66-0422b50ea21e.png)

* 色々設定でカスタマイズできる。一度好みの表示になるように調整してみるのも悪くはないが、さほど重要性は高くない。というかtipsなのだろうかこれは

## ^⇧Jで2行を1行にまとめる
![スクリーンショット 2018-03-20 8.20.21.png](https://qiita-image-store.s3.amazonaws.com/0/188222/17ccb115-ef02-d5b5-407f-9523eb7dbf8a.png)

* 使い道がイマイチ不明だが、2行を1行にまとめられる。