Android Studioのオススメ初期セットアップ(Mac)

## はじめに

Android Studioのオススメ初期セットアップを紹介します:level_slider:

セットアップ完了前後でこのように変わります。

__before__
<img width="1437" alt="スクリーンショット 2020-06-01 10.02.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/023ab178-a6e2-0a9b-7293-286922e48817.png">

__after__
<img width="1435" alt="スクリーンショット 2020-06-01 12.14.53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/b4a99c34-3ccb-5fa2-25bd-c77f99428365.png">

## 環境

- OS：macOS Catalina 10.15.3
- Android Studio：4.0

## インストール

公式サイトから.dmgファイルをダウンロードして実行し、.appファイルを「アプリケーション」フォルダにコピーします。
https://developer.android.com/studio/?hl=ja

## 環境設定

Android Studioを起動して `⌘,` で環境設定を開きます。

### 文字サイズを大きくする

__Editor > Font
Size：12→14__
<img width="997" alt="スクリーンショット_2020-06-01_9_46_24_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/248945ff-ad10-bd3e-47f6-5ba0f7fd812b.png">

私は文字サイズは14がちょうどいいです。

### マウスオーバーでドキュメントを表示する

__Editor > General > Other
[Show quick documentation on mouse move]チェック：OFF→ON__
<img width="997" alt="スクリーンショット_2020-06-01_9_54_39_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/d2a7dd49-ae6b-d381-8b65-2ad6e4293b22.png">

コード上のクラスなどをマウスオーバーするだけでドキュメントが表示されるようになります。
↓では `AppCompatActivity()` をマウスオーバーしています。
<img width="792" alt="スクリーンショット 2020-06-01 12.36.48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/48643e2b-6cf4-3e43-e520-89d8e5da775c.png">

### 補完時に大文字小文字を区別しない

__Editor > General > Code Completion
Match case：ON→OFF__
<img width="997" alt="スクリーンショット_2020-06-01_9_56_08_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/287c439e-11a1-5150-2801-e169b556ed3f.png">

補完時に大文字小文字を区別しないことで、わざわざShiftキーを押下しなくてもクラス名などを補完できるようになります。

### インポート文を自動で挿入・削除する

__Editor > General > Auto Import > Kotlin (Java)
[Add unambiguous imports on the fly]チェック：OFF→ON
[Optimize imports on the fly (for current project)]チェック：OFF→ON__
<img width="997" alt="スクリーンショット_2020-06-01_9_59_44_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/24504ba9-97fa-7ebf-c042-c0109f0c657d.png">

手動でインポートする手間を省けます。

使っている言語に合わせて設定してください。私はKotlinしか使っていませんが、Javaも設定しています。

### インポート文を自動で隠さない

__Editor > General > Code Folding > Fold by default: > General
[Imports]チェック：ON→OFF__
<img width="997" alt="スクリーンショット_2020-06-01_10_03_49_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/f2ee6538-519a-93c9-8120-1962fe1e21ef.png">

インポート文が隠れていると実装しづらいので、私は常に表示しています。

### Kotlinでワイルドカードインポートを使わない

__Editor > Code Style > Kotlin > [imports]タブ
Top-level Symbols：Use import with '\*' when at least 5 names used→Use single name import
Java Statics and Enum Members：Use import with '\*' when at least 3 names used→Use single name import__
<img width="997" alt="スクリーンショット_2020-06-01_10_05_19_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/3f0d08c5-2408-44dc-411e-0c85237d4918.png">

detektのWildcardImportルールに反するため、ワイルドカードでのインポートを使わないようにします。

Android Studio 4.0だとデフォルトで設定されていたので、確認だけ行いました。

### シェルをzshからbashに変更する

__Tools > Terminal > Application settings
Shell path： `/bin/zsh` → `/bin/bash`__
<img width="997" alt="スクリーンショット_2020-06-01_10_11_01_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/6d23f9b3-34b8-0aeb-5a13-15099ae58c64.png">

macOSではCatalinaから標準のシェルがbashからzshに変更されました。
私はbashに慣れているので戻します。

### Ctrl + Tabで横のタブに移動するようにする

__Keymap > Main menu > Window > Editor Tabs
Select Next Tab： `^→` → `^ Tab`
Select Previous Tab： `^←` → `^ Shift Tab`__
<img width="997" alt="スクリーンショット_2020-06-01_10_42_24_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/5530fc20-4ae5-2107-df42-1a554961ccd0.png">

私はCtrl + Tabでサッと横のタブに移動したいため、キーマップを変えています。

__Keymap > Version Control Systems > Diff & Merge
Select Opposite Diff Pane： `^ Tab` → なし
Select Position In Opposite Diff Pane： `^ Shift Tab` → なし__
<img width="997" alt="スクリーンショット_2020-06-01_10_45_42_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/7cc2dc23-eba7-f6c3-b66c-20339537adbd.png">

それぞれ `^→` , `^←` を割り当てたいのですが、入力できなくて諦めました、、

### プラグインを追加する

__Plugins > [Marketplace]タブ
追加したいプラグインを検索し、[Install]ボタンを押下__
<img width="997" alt="スクリーンショット_2020-06-01_13_10_03_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/bf31ff81-e767-31bf-b549-29a85088dbdf.png">

私はIdeaVimと自動でインストールされるプラグインしか追加していません。
<img width="997" alt="スクリーンショット_2020-06-01_13_10_13_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/22db8f01-1e2c-428c-8af2-49350903b968.png">

オススメのプラグインがあれば、教えていただけると嬉しいです:blush:

### Visual Studio風のカラースキームを設定する

私はVisual Studioの文字色に慣れているので、それに近い色合いのカラースキームを設定します。
完全に私の好みのため、必要に応じて設定してください。

以下からVisual Studio風のカラースキームをダウンロードします。
http://color-themes.com/?view=theme&id=563a1a6780b4acf11273ae55

__Editor > Color Scheme
歯車のアイコンをクリック > Import Scheme…
ダウンロードした.jarファイルを選択__
<img width="997" alt="スクリーンショット_2020-06-01_13_30_03_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/281e48e0-1040-a299-56cb-d47317f847d8.png">

背景色が白でコメントの文字色が緑でないと落ち着きません:no_mouth:

### カラースキームでなくデフォルトの文字サイズを使う

__Editor > Color Scheme > Color Scheme Font
[Use color scheme font instead of default]チェック：ON→OFF__
<img width="997" alt="スクリーンショット_2020-06-01_12_11_18_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/26cb3c64-b481-f678-0459-d51b45ea7877.png">

Visual Studio風のカラースキームには文字サイズも含まれています。
先ほど設定したデフォルトの文字サイズ（14）のままにしたいため、こちらのチェックを外します。

### コメントの文字色を変更する

__Editor > Color Scheme > Language Defaults
Comments
Block comment:808080(グレー)→008000(緑)
Doc Comment
Markup:000000(黒)→808080(グレー)
Tag:0000FF(青)→808080(グレー)
Tag value:3D3D3D(黒)→808080(グレー)
Text:008000(緑)→808080(グレー)__
<img width="997" alt="スクリーンショット_2020-06-01_12_12_57_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/56380d6a-d7e9-e512-ab5b-db42ff49b1df.png">

Visual Studioと同様、通常のコメントを緑、ドキュメンテーションコメントの文字色をグレーにします。

### フォントの斜体と太字を変更する

__Editor > Color Scheme > Language Defaults
Itaricをすべて外す
TagのみBold、それ以外はBoldを外す__

文字色を変更したときと同じ画面なので、スクリーンショットは省略します。

Xcodeでは斜体を一切使っておらず、太字もタグでしか使われていません（違ったらすみません）。
私はXcodeに慣れているため、同じように設定します。

## その他の設定

### 保存時にインポート文の最適化とコード整形を行う

以下の記事を参考に設定します。
https://qiita.com/chocomelon/items/46810763a5be0a433158

私はIdeaVimを使っていて `:w` で保存しているため設定していませんが、 `Command + S` で保存している方にはオススメです。
私もIdeaVimを使う前までは設定していました。

上記の記事ではマクロで設定していますが、プラグインを使う方法もあるようです。
https://qiita.com/ikemura23/items/9a33c1b2bdb5a65d29a5

### 開いているファイルをプロジェクトツリーで選択状態にする

__プロジェクトツリーの右上にある歯車のアイコンを押下
[Always Select Opened File]チェック：OFF→ON__
<img width="567" alt="スクリーンショット_2020-06-01_15_10_44_skitch.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138245/b293ee93-7709-49c0-f1ba-63b547071947.png">

開いているファイルを常にプロジェクトツリーで選択状態にします。
スクリーンショットだとわかりづらいかもしれませんが、 `MainActivity.kt` をタブで開いているので、プロジェクトツリーでも `MainActivity` が選択されています。

## おわりに

これで今日から楽しいAndroidアプリ開発ライフの始まりです:computer::sparkles:

メモらずに変更していて漏れている設定や、他にもオススメの設定がありましたらコメントなどでご連絡いただけると嬉しいです:blush:

## 参考リンク

- [AndroidStudioでKotlin使用時にwildcard importをオフにする - Qiita](https://qiita.com/endoidou/items/e60427ee09fcc0f0599a)