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"にします。