genonymous

GenestreamのTechブログ

【Welcome to the accelerated world!!】Android Studioを入れたら必須でやる事リスト for Mac

こんにちは、つい最近購入したnu boardが便利すぎて絶賛感動中の釘宮です。

今回はAndroid Studioを入れてまずやるべき事と+αをご紹介します。
これを設定しておかないと常に地味にストレスがたまります。
ちりも積もればなんとやらなので早めに設定しておきましょう。

オートコンプリートを使えるように設定しましょう

Android Studioのオートコンプリートのショートカットキーの初期設定は「Ctrl + Space」となっていて、 これはSpotlight検索のショートカットキーと被っており、 さらに実際に押してみるとSpotlight検索の方が優先されてしまいます。
つまるところ初期設定のままではオートコンプリートは封印されていますのでその封印を解いてあげましょう

下記の手順で変更可能です。

  1. [Preferences...] を選択
  2. [Keymap] を選択
  3. [Comp]と入力
  4. Main Menu - Code - Completion - Basic を右クリック
  5. Add Keyboard Shortcutをクリック
  6. [Second Stroke」にチェックを入れて、 「Command + Space」を押下
  7. Main Menu - Code - Completion - Smart Typeも同様に
  8. [Apply]押して[OK]


f:id:genestream:20141110204546p:plain


フィールドのプレフィックスに[m]を設定しましょう

Androidのコーディング規約で

  • 非パブリック、非スタティックフィールドの名前は m で始める。
  • スタティックフィールドの名前は s で始める。

を採用しているところは多いのではないでしょうか?

これの問題はフィールドを選択してSetter, Getterを自動生成した際に

    private int mHoge;
    
    public int getmHoge() {
        return mHoge;
    }

    public void setmHoge(int mHoge) {
        this.mHoge = mHoge;
    }

と言う風に関数名がうまくいかないところです。

これを防ぐ為に下記の設定を行います。

  1. [Preferences...] を選択
  2. [Code Style]を選択
  3. [Java]を選択
  4. [Code Generation]タブを選択
  5. NamingのFiledのName Prefixに「m」を入力
  6. 同様にStatic Fieldに「s」を入力
  7. [Apply]押して[OK]

これで下記のように正常に生成されるようになります。

    private int mHoge;

    public int getHoge() {
        return mHoge;
    }

    public void setHoge(int hoge) {
        mHoge = hoge;
    }

CheckStyleを導入しましょう

常にコーディングスタイルの乱れをチェックできるようにします。

  1. [Preference] を選択
  2. [Plugins]を選択
  3. 検索窓に[CheckStyle]と入力
  4. [Nothing to show.Click Browseto search for non-bundle plugins.]と表示されるのでBrowseをクリック
  5. [CheckStyle-IDEA]を選択して[Install Plugin]を選択

+α

コードを書く早さが早いと言われるのはうれしいことでありますが、もっとできるもっと早いエンジニアはもはや書かないのではないかと最近考えています。
書かないための第一歩として、テンプレートをためる事を意識してみましょう!(と最近、自分に言い聞かせてます)

Live Templateを使おう

いわゆるスニペットなんですが、Live Templateという名前になっています。
3回以上書くならすぐに登録しましょう。例えばContentProviderなどからCursorオブジェクトを取ってdo-whileなどでぐるぐるまわしたい事ってよくありますよね?
僕はLive Templateに下記を登録しています。

if (cursor != null && cursor.moveToFirst()) {
    do {
        $IMPL$
    } while(cursor.moveToNext());
}
if (cursor != null) {
    cursor.close();
}

ifcの三文字を打てばこれが出るようになっています。

File Templateを使おう

スニペットレベルでなくてファイルレベルで毎回同じ事書いてるなって思ったら即登録しましょう。
例えばContent Providerなどって約150行くらい毎回ほぼ同じ事書いてませんか?
しかも毎回覚えてなくて、前回のコード見たり調べたりしてませんか?
一度登録すれば調べて150行くらい書き写す時間がたったの数秒です。
フィジカル・フル・バースト レベルです。

Content Provider以外にもデザインパターンなどにももってこいと思います。

詳細を下記に書いているのでぜひ見てください!

【Android】もっと先へ「加速」したくはないか、少年 〜File Template編〜 - Qiita

まとめ

経験値(テンプレート数)を増やして加速世界の王をめざしましょう!