簡體   English   中英

ESLint > 自動美化和空格縮進

[英]ESLint > Auto-beautify and space-indentation

我剛剛意識到有比JSLint更好的東西,但我對它有點麻煩。 我指的是ESLint

我正在為VS Code設置它,使用Dirk Ba​​eumer的官方插件

到目前為止,一切都運行良好,直到我遇到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)

ESLint 配置是級聯的。 這意味着您可以在不同的子目錄中擁有多個.eslintrc文件,它們將在 lint 時合並。 您的indent規則配置看起來是正確的,但根據您收到的錯誤消息,很可能 - 它被將默認縮進空格數設置為 2 的某些內容覆蓋。

要弄清楚發生了什么,您可以在 ESLint 中使用兩個不同的命令。 首先,您可以使用print-config選項運行(從命令行)ESLint。 它需要一個文件來 lint,並且它將輸出 ESLint 將用於該文件的計算配置。 驗證在該配置中縮進設置為 [2, 4]。 如果不是,您可以使用 調試標志運行 ESLint,它應該打印出所有正在使用的配置文件的位置。 這應該會告訴你哪個文件覆蓋了你的默認配置。

問題已解決。

問題在於,在使用終端配置.eslintrc文件時,它以某種方式在我的*/js/目錄中自行創建了另一個.eslintrc文件,其中包含一些覆蓋我的*/root/文件的默認設置。

如果您遇到同樣的問題 - 在您的項目文件夾中搜索第二個.eslintrc文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM