我正在使用带有Scala插件的Eclipse,每次我都会使用
val blah = "test"
然后按Enter键自动缩进以下行。我想知道这是一个编码约定还是一些奇怪的IDE怪癖。
答案 0 :(得分:5)
这绝对只是Scala-IDE中的一个小错误。该插件有很多小的格式问题。
但是,如果你希望自己的生活很棒,那么你可以点击CTRL + SHIFT + F(Mac上的CMD + SHIFT + F),它会自动格式化你的代码并纠正这些小问题。
编辑:顺便说一下,这个问题似乎有几张票。请参阅this和this。我向其中一个添加了关于这个精确问题的评论,所以希望它在队列中得到修复。答案 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会在某些时候获得一些额外的灵活性。