ESLint>自动美化和空间缩进

时间:2017-01-31 14:11:26

标签: eslint

我刚刚意识到有一些比 JSLint 更好的东西,我对它有点麻烦。我指的是 ESLint

我正在为 VS Code 设置官方 Plugin by Dirk Baeumer

到目前为止,一切都运行良好,直到我遇到indent设置。

我正在为我的编辑器使用自定义的自动美化设置,默认情况下保存为4个空格/标签缩进。

由于集成的代码约定类型,我从ESLint得到2个错误:

[ESLint] Expected indentaion of 2 spaces but found 4. (indent)

并且,对于其他一些案例场景,我得到以下内容:

[ESLint] Expected indendation of 6 spaces but found 8. (indent)

依此类推.10但12,12但14 ......你明白了。

  

如何将文档中的所有缩进默认为4个空格?

我当前的.eslintrc设置:

{
"extends": [
    "eslint:recommended"
],
"root": true,
"rules": {
    // '===' instead of '==' rule
    "eqeqeq": [2, "allow-null"],
    // ^^^ '===' instead of '==' rule
    "indent": [2, 4],
    "quotes": [2, "single"],
    "semi": [2, "always"],
    "no-console": 0
},
"env": {
    "es6": false,
    "browser": true,
    "commonjs": true,
    "node": false,
    "jquery": true
}
}

我的"indent": [2, 4],无法正常运作。

参考示例代码:

window.setTimeout(function () {

'use strict';
$(document).ready(function () {
    var current_width = $(window).width();
    if (current_width <= 481) {
        $('.widget-form-list').addClass('supv');
        $('.widget-form-item').addClass('supv-form-item');
    }
})
// window resize
$(window).resize(function () {
    var current_width = $(window).width()
    if (current_width < 481) {
        $('.widget-form-list').addClass('supv')
        $('.widget-form-item').addClass('supv-form-item')
    }
})
}, 1000)

2 个答案:

答案 0 :(得分:3)

ESLint配置是级联的。这意味着您可以在不同的子目录中拥有多个.eslintrc文件,并且它们将在lint时合并。您对indent规则的配置看起来是正确的,但根据您收到的错误消息,可能会被设置为默认缩进空格数的内容覆盖为2。

要弄清楚发生了什么,可以在ESLint中使用两个不同的命令。首先,您可以使用print-config选项运行(从命令行)ESLint。它需要一个文件到lint,它将输出ESLint将用于此文件的计算配置。验证该配置中的缩进是否设置为[2,4]。如果不是,您可以使用debug标志运行ESLint,该标志应打印出正在使用的所有配置文件的位置。这应该显示哪个文件覆盖了您的默认配置。

答案 1 :(得分:0)

问题已解决。

问题在于,在使用终端配置.eslintrc文件时,它以某种方式在我的.eslintrc目录中创建了另一个*/js/文件,其中包含一些覆盖我*/root/的默认设置。 1}}文件。

  

如果您遇到同样的问题 - 在项目文件夹中搜索第二个.eslintrc文件。