繁体   English   中英

在 val 之后有缩进是 Scala 编码标准吗?

[英]Is it a Scala coding standard to have indentations after val?

我正在使用 Eclipse 和 Scala 插件,每次我做类似的事情

val blah = "test"

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

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

但是,如果您希望自己的生活变得精彩,那么您可以按 CTRL+SHIFT+F(在 Mac 上为 CMD+SHIFT+F),它会自动格式化您的代码并纠正这些小问题。

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

这是一个 IDE 怪癖。

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

如果 function 值或定义的第一行以等号结尾(例如,gnu 样式,这是我从事的一些项目的标准),则会出现类似的问题(后续行的自动缩进)。 这是 gnu 风格的 function def 的示例:

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

这是格式化程序将其转换为的内容:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM