是否是一个Scala编码标准,在val之后有缩进?

时间:2011-07-09 21:43:37

标签: scala scala-ide

我正在使用带有Scala插件的Eclipse,每次我都会使用

val blah = "test"

然后按Enter键自动缩进以下行。我想知道这是一个编码约定还是一些奇怪的IDE怪癖。

4 个答案:

答案 0 :(得分:5)

这绝对只​​是Scala-IDE中的一个小错误。该插件有很多小的格式问题。

但是,如果你希望自己的生活很棒,那么你可以点击CTRL + SHIFT + F(Mac上的CMD + SHIFT + F),它会自动格式化你的代码并纠正这些小问题。

编辑:顺便说一下,这个问题似乎有几张票。请参阅thisthis。我向其中一个添加了关于这个精确问题的评论,所以希望它在队列中得到修复。

答案 1 :(得分:1)

这是一个IDE的怪癖。

答案 2 :(得分:0)

除非在Scala下的格式化选项中配置,否则不应该这样做 - >格式化器

答案 3 :(得分:0)

在内部,Scala-IDE使用scala代码格式化程序的标量https://github.com/mdr/scalariform。它提供了相当有限的可配置性(IMHO),特别是关于花括号的放置,以及关于代码块的缩进。它仅支持花括号的scala样式标准。

如果函数值或定义的第一行以等号结尾(例如,gnu-style,这是我工作的某些项目的标准),则会发生类似的问题(后续行的自动缩进) 。这是一个gnu风格函数def的例子:

def receive =
{
  case "ping" => sender ! "pong"
}

以下是格式化程序将其转换为:

def receive =
  {
    case "ping" => sender ! "pong"
  }

我还没有找到任何替代代码格式化程序,所以希望scalariform会在某些时候获得一些额外的灵活性。