AndroidStudioのショートカット・便利機能・設定などいろいろ

#はじめに
Android開発をしていく上で結構使う機能のまとめです。細かいのやら大きいのやら。
自分が使ってる方法なのでもっと簡単にできるやりかた方法もあるはず。
OSはmacでキーマップはMacOS X 10.5。
(随時更新予定)

##リファクタリング
###リファクタリングメニュー表示
```
ctrl + t
```
![スクリーンショット 2015-11-17 21.41.51.png](https://qiita-image-store.s3.amazonaws.com/0/34084/3ae05a19-9462-41dc-0d02-9cc0b598c1c8.png)
ここからRename、クラス変数化、定数化などいろいろできる。
コード上だけではなくProjectView上などでも使える。
Renameだけなら```shift + F6 ```が早くていい。
これさえ開けば、どんなリファクタ機能があるのかとりあえずわかるはず。

###メソッド抽出
```
メソッドとして抽出したい範囲を選択中に
alt + cmd + m 
```
<img width="733" alt="スクリーンショット 2015-11-18 22.39.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/34084/3b58a1e9-517f-7a4a-dfb5-e67c7277a74d.png">
リファクタメニュー表示のMethod...でもできるけど、よく使うのでショートカットを覚えておくと便利。


###Layoutファイルの要素のかたまりを別ファイルにして抜き出す
```
layoutのなかのincludeにしたい範囲を選択中に
右クリックrefactor → extract → layout
またはリファクタメニュー表示からlayout
```
![スクリーンショット 2015-11-18 22.54.37.png](https://qiita-image-store.s3.amazonaws.com/0/34084/f77f6c40-01e8-a45c-c7d9-5a2dbedc6c0c.png)
xmlの共通化をするときによく使う。
選択したブロックが中途半端だとextractのlayoutが選択有効にならないので注意。


###矩形選択
```
option押しながらマウス選択
shift + cmd + 8 矩形選択モード
```
![スクリーンショット 2015-11-18 23.01.13.png](https://qiita-image-store.s3.amazonaws.com/0/34084/16778b9a-85d8-92da-fb98-929b2b0483d5.png)
縦方向に一括編集できるので使いどころが稀によくある。

###safe delete
```
変数やファイルを選択中に
右クリック → Refactor → Safe Delete
リファクタメニューを開いて Safe Delete
```
削除する前に使用している箇所がないか(大体は)調べてくれる。
リソース中の複数サイズでの同名の画像などは一括して削除してくれるので便利。

##ビルド系
### Run

```
ctrl + r
```
### Debug

```
ctrl + d
```

###ブレークポイントを設定
![スクリーンショット 2015-11-18 23.05.07.png](https://qiita-image-store.s3.amazonaws.com/0/34084/16b9d0ba-6cd1-22df-9d83-b31f66ae9c94.png)
コードの左の枠をタップ

###ブレークポイントで任意のコード実行
```
ブレークポイントで止めてalt +F8
またはRun → Evaluate Expression
またはDebug Viewから(電卓?)アイコンタップ
```
このアイコン
![スクリーンショット 2015-11-18 23.07.28.png](https://qiita-image-store.s3.amazonaws.com/0/34084/7da597e7-2bc2-c05c-323b-42f156ba8f82.png)

![スクリーンショット 2015-11-18 23.10.18.png](https://qiita-image-store.s3.amazonaws.com/0/34084/c25f0389-86e1-85fd-ab27-31d8636504f6.png)

ブレークポイントで行えるメソッドの実行などするとデバッグが捗る

###Runからデバッグに入る
```
デバッグアイコン(虫)の近くにあるデバイスと虫アイコンをクリック
```
![スクリーンショット 2015-11-19 0.12.14.png](https://qiita-image-store.s3.amazonaws.com/0/34084/696414d6-11d1-190a-614c-b2c5e5873b2e.png)
Runしておいて後からブレークポイントに止められるのですごく便利。最近教えてもらって感動。。なぜオレはあんなムダ(デバッグを最初から実行)な時間を。。



##移動系
###一括検索と移動
```
・shift を素早く2回
・window右上の虫眼鏡マークをタップ
などなど
```
![スクリーンショット 2015-11-18 23.11.42.png](https://qiita-image-store.s3.amazonaws.com/0/34084/f305585f-ab95-bfed-27e1-a75e7eb8720a.png)
Search Everywhere
設定や変数メソッドを一括して検索してくれる。

### タブ切り替え
```
ctrl + tab 
```
![スクリーンショット 2015-11-18 23.13.59.png](https://qiita-image-store.s3.amazonaws.com/0/34084/6b2b0f3d-1157-442e-844c-d487eaea3e6a.png)
Switcher。1回で前に開いていたタブに切り替わる。
ctrl押しっぱなしでメニューを表示したままtabを続けて入力することで一つずつさかのぼる、数字キーでAndroidStudioの各機能のviewを開ける、escを押すと閉じる。


### 開いてるファイルをプロジェクトビューで選択状態にする(Scroll From Source)
```
コード上で alt + F1 → Enter
```
![スクリーンショット 2015-11-18 23.15.39.png](https://qiita-image-store.s3.amazonaws.com/0/34084/5ad4f92c-4533-0c4d-dc07-3fe1cab34816.png)
Project Viewのターゲットアイコン(Scroll from source)でもできる。
![スクリーンショット 2015-11-18 23.16.42.png](https://qiita-image-store.s3.amazonaws.com/0/34084/9ea7a317-4c30-270d-36cb-65f8fae5fa93.png)
開いているファイルをコピーしたいときなど素早くアクセスできる。
一番覚えて良かった機能かもしれないくらい、びっくりするほどストレスがなくなった。(前は一生懸命探してた。。)


### 継承先や定義元、実装先にジャンプ
```
コード左の赤とか緑の丸がついてる矢印をクリック
```
![スクリーンショット 2015-11-18 23.26.54.png](https://qiita-image-store.s3.amazonaws.com/0/34084/7d039515-f66c-8c34-5ea6-fb2cc59231c3.png)
コードの継承先や定義元、実装先にジャンプできます。

### 指定した行場番号に移動
```
cmd + l
```
![スクリーンショット 2015-11-18 23.32.01.png](https://qiita-image-store.s3.amazonaws.com/0/34084/f8a85d6d-c832-0cfc-bbdf-c183a857d74d.png)
対象箇所にすぐ移動できる。外部のエラーログから対象箇所を見に行く時によく使う。

### 関数やクラス、ファイルなど使っているところを表示
```
対象上で
alt + F7
右クリック　→ Find Usage
```
Find Usage
xmlなどのファイルもどこで使ってるかわかる。コード読むときになくてはならない。

##設定系
###各種設定を素早く開く
```
cmd + , AndroidStudioの設定へ
cmd + ; プロジェクト設定へ
```
地味によく使う

###macroの登録
```
Edit → Macros → Start Macro Recording 記録開始
Edit → Macros → End Macro Recording 記録終了
記録終了後、名前を付けて登録完了
```
![スクリーンショット 2015-11-18 23.38.36.png](https://qiita-image-store.s3.amazonaws.com/0/34084/6a13f7ba-a782-3ff9-bc06-5dc33044b961.png)

記録開始したあとのキー操作などを登録して一括実行できる。
こちらを参考にさせていただいて、コードフォーマットとインポート整理を一括で実行できるマクロをkeymapに登録してます。
http://qiita.com/chocomelon/items/46810763a5be0a433158

###keymapでkeymap検索
```
AndroidStudio設定画面 → Keymap の画面
```
![スクリーンショット 2015-11-18 23.42.38.png](https://qiita-image-store.s3.amazonaws.com/0/34084/ad74f32c-bed6-2d65-a092-48d0f47c6a41.png)
大きな検索ボックスで名前で検索、虫眼鏡+キーアイコンでキー入力から検索できる。
すでに使ってるkeymapの名前が知りたい場合や、登録したいkeymapがすでに登録されていないか検索するときに便利。


###行数表示
```
設定画面: Editor → General → Appearance → Show Line Numbersにチェック
設定画面の左上の検索ボックスにShow Line Numberと入れると早くたどり着ける。
```
![スクリーンショット 2015-11-18 23.46.17.png](https://qiita-image-store.s3.amazonaws.com/0/34084/73a360af-7995-0542-4c97-208936b99097.png)


##その他
###ImageAsset
```
リソースフォルダの上で右クリック → New → ImageAsset
```
![スクリーンショット 2015-11-19 0.04.58.png](https://qiita-image-store.s3.amazonaws.com/0/34084/bea69013-4e4a-cd23-b652-a9c3cc94ce2f.png)

画像からdrawableに複数サイズで一括で書き出せる。
paddingや形、色やIcon用ActionBar用など設定できる。使いこなせると素早く画像が組み込めそう。


###選択範囲を広げる
```
alt + ↑ 
```
expanded selectionっていうらしい(またはSelect Word at Caret)
xml編集してるときに結構便利

### キャッシュクリアしてリスタート
```
File → Invalidate caches / Restart → Invalidate caches and Restart
```
AndroidStudioの挙動がおかしくなったら一度ためしてみると効果あるかも

#おわりに
まだまだ書いてないところや使えてない機能が沢山あるので追記していく予定。
使いづらいなと思ったらしらべてを繰り返していくと徐々に開発しやすくなりますね。