如here所述,缩进的ESLint属性称为indent
。该示例如下所示:
或用于选项卡式缩进:
{ "indent": ["error", "tab"] }
但是,如果我将确切的代码粘贴到我的.eslintrc
文件中,则VS Code会将其显示为错误:
ESLint:.eslintrc中的ESLint配置无效:-意外的顶级属性“ indent”。 。有关详细信息,请参见“ ESLint”输出通道。
我以前拥有的.eslintrc
文件已经有很多规则,并且这些规则没有打印错误。如果我将"indent"
添加到该列表中,或者单独添加,则失败。
这是在ESLint输出通道中以VS Code打印的错误和堆栈跟踪:
[Error - 10:38:55 PM] ESLint stack trace: [Error - 10:38:55 PM] Error: ESLint configuration in .eslintrc is invalid: - Unexpected top-level property "indent". at validateConfigSchema (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/shared/config-validator.js:286:15) at ConfigArrayFactory._normalizeConfigData (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:469:9) at ConfigArrayFactory._loadConfigDataInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:445:33) at ConfigArrayFactory.loadInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:401:18) at CascadingConfigArrayFactory._loadConfigInAncestors (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:305:46) at CascadingConfigArrayFactory.getConfigArrayForFile (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:250:18) at CLIEngine.executeOnText (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cli-engine.js:860:47) at /home/aaronfranke/.vscode/extensions/dbaeumer.vscode-eslint-1.9.1/server/out/eslintServer.js:1:60107 at /home/aaronfranke/.vscode/extensions/dbaeumer.vscode-eslint-1.9.1/server/out/eslintServer.js:1:61116
这是怎么回事?此选项以某种方式无效吗?示例配置错误吗?我的ESLint extension出问题了吗? VS Code有什么问题吗?我正在使用带有VS Code 1.40.1,ESLint扩展名为1.9.1的Ubuntu 18.04 Linux 64位,并且eslint --version
是v5.16.0
。
答案 0 :(得分:1)
不允许将此设置作为顶级属性,这意味着它必须嵌套在另一个属性"rules"
中。所以你必须这样写:
{
//... other stuff ...
"rules": {
"indent": [ "error", "tab" ]
}
}