IntelliJ IDEA 14のエディタにはコードを選択してCtrl+Alt+Iを押すと、自動的にインデントを調整してくれる機能があります。この機能、Javaのコードスタイルに合わせてインデントを調整するので、基本的には文句のない結果になります。
しかしながら、個人的に1点だけ気に入らない点があります。何かと言うとswitch文の内部にあるcaseに余計なインデントが付くことです。例を挙げると、デフォルトでは下記のようにインデントしてくれます。
switch (a) {
case 0:
doCase0();
break;
default:
doDefault();
}
本当は下記のように、switchとcaseの位置が揃ってほしいのです。
switch (a) {
case 0:
doCase0();
break;
default:
doDefault();
}
この程度、設定(※)で何とかなるだろ?と思ったら、意外にもswitch文に関する設定がありませんでした。困った。
(※)IntelliJ IDEA 14の自動インデントの設定は、メニューのFile - Settingsを選び、左側のツリー表示からEditor - Code Style - Javaにあります。種別としてはIndentに相当するはずですが、switch文について言及されている項目は1つもありません。
インデントの違いは非常に些細なことですが…、個人的に見た目が受け付けないのと、今まで書いてきたコードのインデントがことごとく変わり、バージョン管理システムが差分を大量に表示するので、うっとおしいのです。
前述のようにGUIから設定する方法はなさそうなので、ひとまずGUIからの設定は諦めました。代わりに自動インデントの設定ファイルを直接書き換えようと思います。
まず、自動インデントの設定(メニューのFile - Settings、左側のツリー表示からEditor - Code Style - Java)を適当に書き換え、適当な名前、例えばDefault(1) という名前で保存します。するとC:\Users\username\.IdeaIC14\config\codestyles\Default _1_.xmlという設定ファイルができます。
その後、起動しているIntelliJ IDEA 14を全て終了させて、Default _1_.xmlの設定を直接書き換えます。下記の★部分を追加してください。
<code_scheme name="ConfigName">
...
★ <codeStyleSettings language="JAVA">
★ <option name="INDENT_CASE_FROM_SWITCH" value="false" />
★ </codeStyleSettings>
</code_scheme>
設定を書き換えたら、IntelliJを再び起動してください。するとswitch - case文の内部が自動インデントされなくなります。
< | 2015 | > | ||||
<< | < | 06 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | - | - | - | - |
合計:
本日: