Eclipseユーザ向けのIntelliJ IDEAエディタ設定(前回の続き)

前回に続いて、IntelliJ IDEA 9のエディタをEclipseっぽく使用するための方法を書いてみます。使い込んでみて分かったのですが、やはりIntelliJのエディタは、デフォルトの挙動がEclipseとかなり違っているので、細かく設定してEclipseに近付けていくのが(Eclipseに慣れたユーザにとっては)良いと思います。

キャレット位置のシンボルを自動的にハイライト

Eclipseでは、以下のようにキャレット位置を自動でハイライトできます。

前回、IntelliJのハイライト方式はEclipseと違うと書きましたが、良く調べたらIntelliJにもEclipseと同様の自動ハイライト機能がありました。設定のEditor - Highlight on Caret Movement - Highlight usages of element at caretで有効化できます。


CamelCaseを考慮したキャレット移動

Eclipseの場合、例えばキャレットが以下の位置にあるとして

このときCtrl + →(Option + →)を押すと、キャレットが"R"の前に移動します。つまり、"normalizeRow"というシンボルがCamelCaseで"normalize"と"Row"に分割処理されます。IntelliJでもCtrl + →やCtrl + ←の押下時に、このCamelCaseを考慮したキャレット移動を行うためには、設定のEditor - Smart Keys - Use "CamelHumps" wordsを有効化する必要があります。

(追記: この設定をすると、シンボル上でダブルクリックしたときの範囲選択時に、語境界にもCamelCase分割が使われるので、シンボル全体を選択できなくなります。ダブルクリック時の挙動を元に戻すには、Editor - Advanced mouse usages - Honor "CamelHumps" words setting when selecting on double clickを無効化します。)

インデント位置の自動調整

Eclipseの場合、例えばキャレットが以下の位置にあるとして

このときtabを押すと、キャレットが12文字分前進します(前の行の開始位置にインデントされる)が、IntelliJの場合、デフォルトでは4文字分(デフォルトのタブサイズ)しか前進しません。

IntelliJのタブアクションには"Tab"と"Emacs Tab"の2種類があり、デフォルトでは前者にtabキーがマッピングされているのですが、後者の"Emacs Tab"を使えば、キャレットがEclipseと同様に前進するようになります。

メソッド引数情報のポップアップ

Eclipseでは、以下のようにメソッドの括弧内でCtrl + Space(Command + Space)を押すと、引数情報がポップアップしますが、IntelliJで同じ位置でCtrl + Spaceを押しても何も起きません。

IntelliJにはView - Parameter Infoという専用のメニューがあり、これで同様の表示ができます。ショートカットが割り当てられていない場合は、設定しておいた方が良いと思います。


補完時のJavadocポップアップ

メソッド等を補完しているとき、Eclipseの場合はJavadocが合わせてポップアップします。

IntelliJでは、設定でEditor - Code Completion - Autopopup documentation in (ms)を有効化すると、ポップアップするようになります。


文字ケースに寛容な補完

IntelliJのクラス名補完は、Eclipseと違い、デフォルトで先頭の文字ケースを区別するので、"map"と入力して補完しても何も出てきません。

この文字ケースの区別を無くすには、設定でEditor - Code Completion - Case sensitive completionを"None"にします。

パッケージ表示の平坦化

IntelliJのデフォルトのプロジェクトウィンドウは、Eclipseのように完全なパッケージ名が並ぶ形式ではなく、ディレクトリツリー形式になっています(左)。これをEclipse風にする(右)には、ウィンドウ右上のツールボタンをクリックしてFlatten Packagesを選択します。