如何在 ESLint 中将制表符大小定义为 4?

How can I define tab size to 4 in ESLint?

我正在我的工作区中试验 ESLint,我对缩进规则有点困惑。

这是我的缩进设置规则:

"rules": {
  "indent": [
    "error", "tab"
  ]
}

文档只说只有两个选项:空格数的正数和"tab"。

我的问题是如何将制表符大小定义为 4 而不仅仅是 "tab"? 是否可以为此使用缩进规则?

我正在使用 vscode。

这似乎更像是一个基于 ide 的问题。可以告诉 Eslint 需要缩进 4 或制表符,即转义字符 '\t'。如果您希望将选项卡 space 定义为 4 space,则必须在您使用的任何代码编辑器中更改设置。

这将向您展示如何在 vscode 中做到这一点。

linter 设置无法满足您的要求。 ESLint 对 源文件 (或纯文本)进行检查,并且所有源文件在制表符的位置都有一个制表符。对于不同的制表符长度,没有单独的制表符。相反,每个显示制表符的应用程序 自身 决定如何显示制表符。 VSCode 可能有一个设置,但是当您在不同的编辑器或浏览器中打开文件时,其他编辑器或浏览器可能会选择以不同的方式显示它(比如一个标签占用 2 个空格,或者一个制表符占用 8 个空格,或类似的东西)。

即使在浏览器中,选项卡的长度也可以有多个不同的设置,在同一个选项卡中,尽管从同一个源文件开始。有关相关讨论的示例,请参阅 here

VSCode 确实有选项卡的视觉大小设置,但是:转到文件 -> 首选项 -> 选项卡大小并将其设置为 4:

您需要配置 Vscode 以将制表符大小定义为 4。ESlint 用于显示错误,它不用于将制表符转换为空格。 当意图与 4 个空格(默认样式)不同时,您可以在 ESlint 上使用此规则显示错误:

{
    "indent": ["error", 4]
}