IntelliJ IDEAでScalaのメソッドパラメーターをカッコに合わせて整列しない設定
追記'15/11/15: 専用の設定が追加されました
Scalaプラグインバージョン2.0.181から(?)設定に項目が追加されました。2.0.181は現在ScalaプラグインのUpdate channelをNightlyに設定していればインストール可能。
下記のContinuation Indent
の代わりに、Settings > Editor > Code Style > Scala > Other > Alternate Indentation for constructor args and parameter declarations
をチェックして4spacesに設定したら望む挙動になります。
Continuation Indent
で設定した場合と違って、クラス・メソッド宣言以外のインデントに影響しません。
追記終わり
#rpscalaの懇親会で話題になったものの皆さん知らないようだったので。
case class Hoge(foo: String, bar: Int, baz: Double)
このようなcase classがあるときに各引数の位置で改行すると、標準の設定では以下のようにインデントされる。*1
case class Hoge( foo: String, bar: Int, baz: Double)
これをScala Style Guideに沿って以下のように書きたい。*2
case class Hoge( foo: String, bar: Int, baz: Double)
そのためには、Settings > Editor > Code Style > Scala
で
Tabs and Indents > Continuation Indent
を4
にWrapping and... > Method Declaration parameters > Align when multiline
のチェックを外す
これで改行時にスペース4つの位置にパラメーターが整列するようになる。
また、
Method Declaration parameters
をDo not wrap
からChop down if long
にMethod Declaration parameters > New line after '('
をチェックする
この設定を追加すると、自動整形*3時に行が長い場合*4、Style Guideに沿った形に整えてくれる。
追記 チームで設定を共有したい場合
Code Style
のScheme
をProject
に設定 (既に設定済みのSchemeがある場合はManage...
からCopy to Project
する)- How to manage projects under Version Control Systems – JetBrains Support これを参考に設定ファイルをバージョン管理に追加*5