LoginSignup
91
88

More than 5 years have passed since last update.

EclipseからAndroid Studioに乗り換えたけど、しっくりこない人のためのメモ

Last updated at Posted at 2014-08-25

これなに?

EclipseからAndroid Studioに乗り換え(ようと思っ)たんだけど、キーバインドとか挙動がいろいろ違くて慣れるのつらっていう僕(@ushi3_jp)みたいな人用のメモ。
基本的に、Eclipseチックにできるところは設定方法を、無理な場合はASでの操作を書いています。

なお、僕はWindowsユーザーなので、Macの人はASの SettingsPreferences と脳内変換してください。

IDE設定

起動すると、最後に開いてたプロジェクトが開かれる

俺は別のプロジェクトを開きたいのに、以前のプロジェクトが自動で開かれて、しかもgradle動き始めるからつらい…

Settings -> Appearance & Behavior -> System Settings

Startup/Shutdownの Reopen last project on startup のチェックを外す

コードの折り返し文字数

Settings -> Code Style

Right margin (columns) の値を変更する。

KeyMap

KeyMapのプリセットにEclipseあるから、切り替えてみたけど違和感ある…
KeyMapをEclipseにした人用

左辺生成

new ArrayList<>()とか書いて、左辺を自動生成する。Eclipseだと Ctrl+2→L など。

ASでは、Ctrl+Alt+V で左辺が生成されます。
なお、Classスコープでは左辺生成できない模様。

コンストラクタやgetter/setterの生成

Eclipseだと、コンストラクタはClassスコープでCtrl+Space で作れたりする。
getter/setterのコマンドは忘れた。

ASでは、Alt+Insert で自動生成候補が出てきます。
何かしら自動生成したかったらとりあえずAlt+Insert押してみるとよさげ。

選択行の移動

選択している行を上下方向に移動する。EclipseだとAlt+上下

if文の中などでやってみるとスコープごと移動される、なんか違う…

Alt+上下Move Statement Down/Up になっています。
Move Line Up/Down に変更すると行単位で移動します。

選択行のコピー

選択している行を上下方向にコピーする。EclipseだとCtrl+Alt+上下

上押しても何も起きないんだけど…

Ctrl+Alt+下 しか定義されてないです。

上にコピーしたいんだけど…

残念ながら上下の区別がないので、下方向にしかコピーできないです。

呼び出し元、型階層

呼び出し元は Ctrl+Alt+H、型階層は F4

コーディング

ClassなどをホバーしてもJavadocが出てこない

Settings -> Editor -> General

Otherカテゴリーの Show quick doc on mouse move をチェックする。
Delay をいじることで、ホバーしてからdocが出るまでの時間を調整できる。

sysoutでSystem.out.printlnが出てこない

Editor -> Live Templates

Javaではoutputグループの定義が有効です。デフォルトでは、soutSystem.out.println となっています。必要であれば、Abbreviation の内容を変更することで、好みのテンプレートキーワードにできます。

同設定のiterationsグループには、for文のテンプレートが定義されています。デフォルトでは for-each のテンプレートが iter で呼び出せるようになっています。

1行コードのメソッドが勝手にcollapse表示される

Settings -> Editor -> General -> Code Folding

Collapse by defaultの One-line methods のチェックを外します。

getter/setter生成時にJavadocを付けてほしい

そんな機能はない

JavaDoc ってプラグイン入れてみたら?と言われました。
インストールすると、Alt+Insert にJavaDoc自動生成する項目が増えるぞ!

メンバ変数mHogeのgetterの自動生成がgetmHoge()になってしまう

Settings -> CodeStyle -> Java

Code Generation タブにある Naming グループのFieldName prefixに「m」を入力すると、アクセサメソッドを自動生成するときにprefixを除いてくれます。
必要に応じて、Static fieldに「s」とか入れとくといいかもしれないです。

プロジェクト構成

New Projectしたんだけど、俺の知ってるプロジェクト構成じゃなくて死ぬ…

Android Studioはgradleのマルチプロジェクト構成になってます。なので、Eclipseのときとはディレクトリ構造が違います。

tree
SampleProjectbuild.gradle
    │
    ├─app
    │  │  build.gradle
    │  │  
    │  ├─libs
    │  └─src
    │      ├─androidTest
    │      │  └─java
    │      │
    │      └─main
    │          │  AndroidManifest.xml
    │          │  
    │          ├─java
    │          └─res
    │
    ├─build
    └─gradle

Eclipseで言うと、プロジェクトはappディレクトリにあたります。ただ、なんかAndroidManifest.xmlとかresとかの位置が違いますね。これは、build flavorsの影響でこのような構成になっています。(たぶん

ASはプロジェクトのソースディレクトリをbuild.gradleの記述を元に表現しています。
なので、ワシはこんなディレクトリ構造でやりとうない…という方はapp/build.gradleを書き換えるといいでしょう。

build.gradle
// …

android {
    // …

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

プロジェクト構成を変えたい場合は、android.sourceSetsを定義します。
上のsourceSetsには、manifestjavaresassets のファイル(ディレクトリ)が定義されています。逆に言うと、 build.gradleを見ればプロジェクトの構成がわかります。

これを適用させると、プロジェクトは以下の構成に切り替わります。

tree
SampleProjectbuild.gradle
    │
    ├─app
    │  │  AndroidManifest.xml  ←
    │  │  build.gradle
    │  │  
    │  ├─assets  ←
    │  ├─libs
    │  ├─res     ←
    │  └─src
    │      ├─androidTest
    │      │  └─java
    │      │
    │      └─main
    │          └─java
    │
    ├─build
    └─gradle

ちなみに、AndroidManifest.xmlはあらかじめ自分で移動or生成しないとgradleが通らない ので注意してください。

チーム開発でこれをやる場合は、念のためメンバーと相談してからやりましょう。

91
88
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
91
88