Tslint: 缩进规则增强

创建于 2015-08-19  ·  37评论  ·  资料来源: palantir/tslint

ESLint类似,我们应该能够通过如下选项强制执行 2-space 或 4-space 缩进:

  • [x] [true, "spaces", 2]
  • [x] [true, "spaces", 4]

此外,最好有一个"detect"选项(如 #122 中所建议的),它试图猜测文件中的缩进样式并强制执行一致性:

  • [ ] [true, "detect"]
P1 Fixed Enhancement

最有用的评论

@dimitriy-k #2723 刚刚合并,它将在下一个版本中出现。

所有37条评论

+1

+1 用于强制执行空格数。

+1

只有当缩进可以被配置的空格数整除时,这才有效吗?

{
    theObject.something()
             .more(); // 13 spaces.
}

不支持上述(对齐句点)方法?

@glen-84 我看到两种可能性:

  • 逐行检查缩进(不允许您的示例
  • 一个语句一个语句的缩进检查。 由于在您的示例中, theObject.something().more()都是一个语句,因此它只会检查它开头的缩进级别。

我认为它们都有优点和缺点,但在这里可能更喜欢第二个。

:+1:

+1
@JKillian -> 我会投票支持选项 #2,其中检查语句,而不是每一行。

+1 选项 2,逐条检查

@JKillian谢谢。 第二个选项看起来不错。 =)

编辑:我改变主意了

+1 选项 1

一个好方法是 ESLINT one http://eslint.org/docs/rules/indent

+9000 SSJ3
伙计们,请尽快实施 4 空格缩进选项。 我开始用打字稿编程很多,2 个空格的默认缩进对我来说太糟糕了。 对于某些人来说,很难看到只有 2 个空格的某些代码的缩进级别......

@radarsu您可能想暂时尝试使用

@radarsu现在,缩进规则只是根据您的代码与前一条语句的对齐方式来判断您是否有缩进错误。 您可以使用四个空格缩进并使规则满意(实际上,这就是 TSLint 源代码所做的)

@JKillian知道这有多难解决吗? 我很想开始强制执行缩进大小。 如果时间不是太长(下周只有这么多时间),我愿意对其进行修改。

很难说这有多难——我希望它至少不会简单哈哈。 不过一定要去!

@mcriss @strike-sbolel 请停止添加+1评论。

看起来这里正在做出类似的努力https://github.com/buzinas/tslint-eslint-rules/issues/74

改变了主意,因为选项 2 将允许使用以下代码:

{
    theObject.something()
             .more() // 13 spaces.
           .wrong()
                    .moreWrong();
}

在理想情况下,我们会使用带有设置的选项 1,以允许(或强制)“环绕”行位于前一行的最后一个句点下方。

{
    theObject.something()
             .more()  // 13 spaces.
             .right() // Must be the same as above now, because the previous line used this indentation mode.
             .moreRight();
}

或者:

{
    theObject.something()
        .more() // (4 x 2) spaces.
        .right()
        .moreRight();
}

我们可以发布更新吗?

@owais核心 TSLint 中尚未实现增强功能。 该链接指向具有自定义规则的外部存储库。

哦。 我没有意识到我正在看另一个回购。 :) 感谢您的链接。 我想我可以用那个。

@adidahiya这仍然是杰出的东西吗,值得我打开 PR 吗? 还是使用您链接到的自定义规则会更好?

@pudgeball肯定很乐意接受 PR(如标签所示)

请注意,#2723 不能解决此问题。 它修复制表符 -> x 空格和 x 空格 -> 制表符,但不修复 x 空格 -> y 空格

仍然没有缩进大小的更新?...请求是从 2015 年开始的

@dimitriy-k #2723 刚刚合并,它将在下一个版本中出现。

这条规则将被称为什么? 😄

@dolanmiu这不是新规则。 它完全按照原始问题描述中的说明实施。 只需点击我链接的 PR。

@adidahiya我正在使用当前最新版本的 tslint 5.3.2

并使用以下内容:

    "indent": [
      true,
      "spaces",
      4
    ],

我有一个 2 个全 2 个空格的文件,但它没有检测到它! 我做错了什么,还是有错误?

@dolanmiu是的,这看起来像是一个新问题,我也注意到 #2723 没有像我预期的那样工作。 我提交了https://github.com/palantir/tslint/issues/2814

任何更新?

"indent": [true, "spaces", 4]不适合我

@liul85尝试安装tslint-eslint-rules并使用terIndentRule

@leocaseiro感谢分享,我会试试的。

仍然无法在 tslint 5.11.0 中工作

"indent": [true, "spaces", 4]仍然无法正常工作...

此页面是否有帮助?
0 / 5 - 0 等级