1

我正在使用带有金属 scala 扩展的 VS 代码,并且无法正确格式化我的代码。我想为所有内容设置 8 个空格的制表符宽度。这是我的 .scalafmt.conf

version = "2.0.0-RC4"
maxColumn = 80
continuationIndent.callSite = 8
continuationIndent.defnSite = 8

然后我按 Ctrl+Shift+I 来格式化文档。只有调用站点与 8 个空格对齐,定义站点仅与 2 个空格对齐。

这就是我的格式化代码的样子。

final class Goods(
        _food: Int = 0, 
        _materials: Int = 0, 
        _products: Int = 0, 
        _fuel: Int = 0 
) {
  var raw = Array(_food, _materials, _products, _fuel)
  def food: Int = raw(0)
  def materials: Int = raw(1)
  def products: Int = raw(2)
  def fuel: Int = raw(3)
  def weight = raw.sum
}

为什么类的主体不与 8 个空格对齐?

4

1 回答 1

0

因为 scalafmt 的开发者任意不希望你控制自己的 tab 宽度。这是我改用 scalariform 的主要原因。

https://github.com/scalameta/scalafmt/issues/1493

于 2020-07-14T02:02:39.810 回答