はじめに

前回はAndroid 開発を快適に行うための基本的な設定について紹介しましたが、今回は実際にコードを書いていく時に便利になる機能を紹介したいと思います。


目次


エディタのスタイルを変更しよう

 eclipse の標準のエディタは、基本的に白背景に黒文字で、クラスやメソッド名、コメントなどにそれぞれ色が割り振られた形になっています。とても見やすい配色になっているため、このまま使用しても特に差し支えはないのですが、エディタは絶対に黒背景じゃないと嫌だという人も中にはいると思います。

 そこで今回は、eclipse のエディタのスタイルを変更することの出来る “eclipse Color Themes” というプラグインを紹介します。このプラグインを導入すると、様々なテーマの中から好きなものを選ぶことができるようになります。また、eclipse のエディタの設定もある程度変更が効くため、自分だけの eclipse で開発を行うことができます。

 はじめに、以下の手順でプラグインをインストールします。

  • help > Install new software… を開く
  • Work with と書いてある部分の横にある [add] ボタンを押す
  • name に適当な名前を入力し、 Location に http://eclipse-color-theme.github.com/update/ を入力する
  • 一覧に Eclipse Color Theme が表示されるので、指示に従いインストールを行う

show_line_number

 インストールが終わると、eclipse の再起動を要求されます。再起動後、テーマを設定出来るようになります。

 テーマを設定する場所は以下になります。

  • ADT > 環境設定 > General > Appearance > Color Theme

 この画面を開くと、テーマが沢山並んでいるのがわかると思います。この中から好きなテーマを選んで開発のモチベーションを上げましょう!!


eclipse のスタイルを変更しよう

 エディタのテーマを黒背景のものに変更すると、eclipse 自体の基本的に白ベースであるスタイルが気になってくるのではないでしょうか。そんなときのために、黒ベースの eclipse を使用する方法を紹介します。

 しかし、これには ADT Bundle の eclipse を使用している場合に起こりえる問題があります。eclipse を黒ベースにするスタイルを追加した時、スタイルを変更しようとしたところで ”The currently displayed page contains invalid values” が表示されてしまうことがあるようです。

 このため、eclipse を黒ベースにする設定はあまりお勧めしません。実際に黒になれば見た目はかっこいいし、モチベーションも上がるかもしれませんが、そのためにeclipse が使用不可能になってしまっては本末転倒となってしまいます。どうしてもという時には自己責任で。

 それでは以下に手順を示します。まずは、ここから 「Eclipse-juno-Dark.zip」をダウンロードしそれを解凍しておきましょう。

  • Eclipse_Juno_Dark_XXX.jar を /Applications/~ファイル名~/eclipse/plugins に置き、eclipse を開いている場合には再起動
  • ADT > 環境設定 > Genelal > Appearance
  • Theme: のプルダウンメニューにある Eclipse Juno Dark を選択
  • Apply

 Eclipse_Juno_Dark_XXX.jar の XXX 部分は、恐らくダウンロードしてくるバージョン等によって変わると思いますので適宜読み替えてください。  これで、Eclipse が黒ベースの物に変更されたと思います。


便利機能を使いこなそう

 eclipse に限らず IDE 全般で言えることですが、便利な機能が沢山備わっています。これらを使いこなすことで、作業効率を大幅に上げることが出来るでしょう。また、このような機能はショートカットキーに割り当てられていることが多いです。ついでにこれも覚えてしまうとより効率が良くなると思います。

 また eclipse はショートカットキーへの割り当てのほぼ全てを編集することができます。つまり、よく使うショートカットキーを自分の使いやすいものに変更することができます。

 初めはチートシートを作成し、自分なりに便利なキー構成を模索してみるといいかもしれません。それで自分にあった構成にしておくことで、これからの開発のスピードが段違いになるはずです。

 この章では、便利機能の紹介とともに、デフォルトで割り振られているショートカットキーも一緒に紹介します。これらをそれぞれ自分の好きなキー配置にするもよし、そのまま使うのもよしです。

 Mac でキー配置を変更する時には、一つ気を付けておかなくてはいけないことがあります。前回の記事のコード補完の時にも触れたのですが、Mac にはすでに様々なショートカットキーが設定されています。そのため、eclipse の機能をショートカットキーへ登録しても、mac の機能と競合して使用できないということが起こりえます。これに関しては気をつけると言っても限界があるので、都度ここから調べる他ないと思います。ただ、control キー + 何か という組み合わせは比較的空いているはずなので、そこに機能を割り当てて行くといいかもしれません。


検索系

機能 Mac Windows
検索と置換 Command + F Ctrl + F
検索ダイアログ表示 control + H Ctrl + H
インクリメンタルサーチ Command + J Ctrl + J
呼び出しているコードの表示 control + Option + H Ctrl + Alt + H
呼び出し階層の表示 Command + Shift + G Ctrl + Shift + G
  • 検索と置換
     そのままの機能です。開いているコード内の検索と置換を行うことが出来ます。比較的使用頻度の多いコマンドではないでしょうか。

  • 検索ダイアログ表示
     Command + F よりも、広い範囲の検索を行うことが出来ます。タブを切り替えることで検索のスコープを変更することが出来ます。ソースファイルが多くなればなるほど、よく使う機能になると思います。

  • インクリメンタルサーチ
     ページ内検索を行う機能です。しかし、eclipse 標準のインクリメンタルサーチは決して使い勝手の良いものではありません。インクリメンタルサーチを使用するなら、検索と置換の方で検索したり、そもそも検索ダイアログを表示したほうが楽に目当てのものを探すことができるでしょう。
     もしくは、Glance というプラグインを入れてしまうというのもありかもしれません。  

  • 呼び出しているコードの表示
     選択した、メソッドや変数を呼び出しているコードを検索することが出来ます。変数名の変更を行うときの影響範囲や、メソッドを逆にたどって行くときなどに便利な機能です。これはぜひ覚えておくといいと思います。

  • 呼び出し階層の表示
     選択した、メソッドや変数を呼び出しているコードの階層を表示することが出来ます。先ほどの、呼び出しているコードの表示と共に覚えておくといいと思います。


編集系

機能 Mac Windows
コメントのトグル Command + / Ctrl + /
一行削除 Command + D Ctrl + D
JavaDocコメント生成 Command + Option + J Alt + Shift + J
現在行の移動 Option + (↑ or ↓) Alt + (↑ or ↓)
現在行のコピー Command + Option + (↑ or ↓) Ctrl + Alt + (↑ or ↓)
インポート編成 Command + Shift + O Ctrl + Shift + O
リネーム Command + Option + R Alt + Shift + R
インデント整理 Command + I Ctrl + I
メソッド抽出 Command + Option + M Alt + Shift + M
ソースコードのフォーマット Command + Shift + F Ctrl + Shift + F
クイックフィックス Command + 1 Ctrl + 1
単語補完 control + . Alt + /
小文字 or 大文字に変更 Command + Shift + (Y or X) Ctrl + Shift + (Y or X)
オーバーライドメソッドを実装する 無し 無し
  • コメントのトグル
     選択している行をコメントアウトすることが出来ます。すでにコメントアウトされている行を選択している場合には、コメントアウトを外すことが出来ます。もちろん複数行を選択している場合には、その全ての行にコメントアウトが適用されます。この機能はかなり高い頻度で使用することになるのではないでしょうか。

  • 一行削除
     選択している行を消すことが出来ます。カーソルの位置にかかわらず、その行をまるまる削除することが出来ます。一行削除と書いていますが、複数行選択するとその選択した行をまとめて削除することが出来ます。これもかなり使用頻度は高いと思います。

  • JavaDocコメント生成
     カーソルがあるところに JavaDoc 用のコメント領域を作成することが出来ます。

  • 現在行の移動
     カーソルがある行を、上下に移動させることが出来ます。コードの順番を変えたいときに便利な機能です。

  • 現在行のコピー
     カーソルがある行を、その行の上か下にコピーすることが出来ます。

  • インポート編成
     足りないクラスをインポートしたり、不要なクラスを削除したりということを自動で行なってくれる機能です。
     eclipse で開発している際、使用していないクラスをインポートしていると、警告が出てしまいます。もし、それが公開するコードだったとしたらとても恥ずかしい状態です。また、インポートしていないクラスを使用するとエラーになってしまうため、新しいクラスを使用する場合には都度インポートする必要があります。これらの問題を一発で解決してくれるとても便利な機能なのでぜひ覚えておきましょう。

  • リネーム
     選択したコードをリネームすることが出来ます。同じファイル内にある同じスペルを持つコードは全てリネームされます。変数の名前を変更したいときなどに使用することができるのでとても便利な機能です。ぜひ覚えましょう。

  • インデント整理
     コードを書いている途中でインデントがずれてしまうことがあるかもしれません。それを綺麗に直してくれるのがこの機能です。 Command + A でファイル内を全選択してからこの機能を使用するといいのではないでしょうか。もちろん部分的に直したい場合には、直したい部分だけを選択すれば問題ありません。

  • メソッド抽出
     コードを書いている途中で、この部分はメソッドにしておこうと思う時があると思います。そんな時にはその部分を全て選択し、この機能を使用しましょう。引数から戻り値までを全て考慮したメソッドを作成してくれます。この機能を使用すると、ダイアログが表示されるのでメソッドの名前を設定しましょう。ロジックをメソッドに分けておくことで、コードの可読性も高まります。

  • ソースコードのフォーマット
     ソースコードを整形することが出来る機能になります。この時に適用されるルールは、前回の記事で設定した ADT > 環境設定 > Java Code Style > Formatter のところに設定しているものになります。

  • クイックフィックス
     eclipse では、コードを書いている最中にエラーの修正案を表示してくれることがあります。これは、修正案の一覧を表示させることのできる機能です。コードを途中まで書いた後に、変数やメソッドの名前が間違っている事に気付いたらこの機能を使ってみましょう。上手くいけばそのままエラーを解消することができるはずです。

  • 単語補完
     コード補完と違い、単語単位で補完を行なってくれる機能です。基本的に、コード補完を使用する事になると思うので使用頻度はそんなに高くないでしょう。コード補完の方の候補がすごく沢山あり、探すのが大変なときに変数名くらいの簡単なやつであればこちらの機能を使ったほうが早くなる場合があるかもしれません。

  • 小文字 or 大文字に変更
     選択している文字を小文字もしくは大文字に変更することが出来ます。文字を選択し、Command + Shift + Y なら選択している部分を全て小文字へ、X なら全て大文字へ変更することが出来ます。

  • オーバーライドメソッドを実装する
     オーバーライドすることのできるメソッドを、一覧から選択することで簡単に実装することが出来ます。デフォルトではショートカットキーが割り当てられていない機能ですが、使う場面によってはとても便利になると思いますのでキーを割り当てるのもいいかもしれません。


移動系

機能 Mac Windows
クイックアウトライン Command + O Ctrl + O
タブ移動 control + fn + (↑ or ↓) Ctrl + (↑ or ↓)
最終編集位置 control + Q Ctrl + Q
エラー箇所へ移動 Command + (. or Shift + .) Ctrl + (. or ,)
変数利用箇所へ移動 Command + (K or Shift + K) Ctrl + (K or Shift + K)
前に開いていた画面へ移動 Command + ([ or ]) Alt + (← or →)
行番号で移動 Command + L Ctrl + L
エディタを閉じる Command + W Ctrl + W
エディタを切り替え Command + E Ctrl + E
  • クイックアウトライン
     コードのアウトラインを、ツリー表記化した状態で表示することが出来ます。このツリーから選択すると、そのコードに移動することが出来ます。

  • タブ移動
     今開いているタブの、左もしくは右のタブに移動します。タブを選択するために、いちいちマウスカーソルをタブの位置まで持っていくことが無くなります。これはとても、便利な機能ではないでしょうか。

  • 最終編集位置
     最後に編集したコードの位置に移動することが出来ます。最後に編集したコードの場所がわからなくなった時には、この機能を使うことで編集した位置を割り出すことが出来ます。

  • エラー箇所へ移動
     エラーがある行へ移動することが出来ます。基本的に、ファイル内は下へ移動しますが、Shift を追加で押すと、上方向へ移動させることも出来ます。Windows の場合は . か , で区別を行います。

  • 変数利用箇所へ移動
     選択した変数を使用しているコードへ移動することが出来ます。エラー箇所の場合と同様に、Shift を追加することで上方向移動が可能です。

  • 前に開いていた画面へ移動
     ヒストリーを一つ戻ることが出来ます。
    Command を押しながら変数や、メソッドをクリックすると、その変数やメソッドが定義されている場所などに移動することが出来ます。そのあとに、元いた場所に戻りたいときに使用する機能です。頻繁にコードを行ったり来たりを繰り返すことがあるときには、とても便利に使用することができるのではないでしょうか。

  • 行番号で移動
     エラーログを見ていると、何番目の行でエラーなのか知ることが出来ます。その時に、目当ての行へすぐに移動するための機能になります。

  • エディタを閉じる
     現在編集中のエディタを閉じることが出来ます。eclipse で開発をしていると、どうしてもタブの数が増えていってしまいますが、しばらくは編集しないだろうなと思ったエディタはこれで一度閉じてしまうのもいいかもしれません。

  • エディタを切り替え
     任意のエディタを選択することのできるプルダウンメニューを開きます。隣のタブじゃないところに移動する際、何度も control + fn + ↑ などで移動するよりは選択したほうが早いと感じる場合にはこちらを使用するといいでしょう。特に eclipse で開発を行なっていると、タブの数がどうしても増えると思いますので、その時にすぐ目当てのタブへ移動できるこの機能はとても便利なのではないでしょうか。


その他

機能 Mac Windows
ショートカット一覧の表示 Command + Shift + L Ctrl + Shift + L
リファクタメニュー表示 Command + Option + T Alt + Shift + T
ソースメニュー表示 Command + Option + S Alt + Shift + S
  • ショートカット一覧の表示
     今まで紹介してきたショートカットキーなどを一覧として確認することが出来ます。とっさにショートカットキーが思い出せない時には、この一覧を表示して確認してみるのもいいのではないでしょうか。もちろん、カスタマイズしたショートカットキーもここに表示されます。

  • リファクタメニュー表示
     リネームや、メソッド抽出などと言ったリファクタリング系がまとまっているメニューを開くことが出来ます。その中にはショートカットキーとして設定されてはいませんが、とても便利な機能があったりもします。また、リネームなどのコマンドを忘れた時でも、このコマンドを使用すれば、全て表示してくれますので問題ありません。キーを沢山覚えるのが苦手な方はまずこれを覚えるのも手でしょう。

  • ソースメニュー表示
     インデントの整理や、インポートの整理などソースを綺麗に整えることのできる機能がまとまっているメニューを開くことが出来ます。リファクタメニュー同様に、とても便利な機能がまとまっているメニューになります。リファクタメニュー表示と合わせて覚えておくといいでしょう。


終わりに

 さて、今回の特集はいかがだったでしょうか。
 この記事によって、みなさんの開発作業が少しでも快適なものになれば幸いです。

 今後の Android 開発は、Android Studio が中心になっていくはずです。  それでもまだ Eclipse で開発を行なっている現場も多いと思い、このような記事を書かせて頂きました。

 次回は、次世代の IDE となる Android Studio を特集しますのでそちらも読んでいただけると幸いです。

 それでは次回の記事をお楽しみに!