Code-formatting: How to align multiline code to special characters?

蹲街弑〆低调 提交于 2019-12-03 13:36:38

问题


Is IDEA or one of its plugins capable of aligning code to special characters?

I mean so that the code

Map(
  'name -> "Peter",
  'age -> 27,
  'company -> "Foobar"
)

is transformed to

Map(
  'name    -> "Peter",
  'age     -> 27,
  'company -> "Foobar"
)

Example2:

execute("x", true, 27)
execute("foobar", false, 0)

transformed to

execute("x"     , true , 27)
execute("foobar", false, 0 )

回答1:


You can align case statements, however:

value match {
  case s: String => Some(java.lang.Long.parseLong(s))
  case bi: BigInt => Some(bi.longValue)
  case _ => None
}

Like so:

value match {
  case s: String  => Some(java.lang.Long.parseLong(s))
  case bi: BigInt => Some(bi.longValue)
  case _          => None
}

Use option:

Settings -> Code Style -> Scala => Wrapping and Braces -> 'match' and 'case' statements -> Align in columns 'case' branches




回答2:


In IDEA 12 if you're using the Scala plugin you can configure "Align when multiline" for many things, including method parenthesis. Your particular example of multiple invokations on separate lines is not supported however.




回答3:


Code formatter seems to be a solution.



来源:https://stackoverflow.com/questions/15001403/code-formatting-how-to-align-multiline-code-to-special-characters

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!