darKnight
darKnight

Reputation: 6481

Suppress ESLint warnings in VSCode

I am using ESLint extension in VSCode to format and check my JavaScript code. However, I don't want ESLint to show me warnings (red lines below code), esp. the ones related to code formatting, but still do the formatting every time I save the file. Is it possible to do this?

Here is my VSCode config:

{
  "editor.fontSize": 14,
  "explorer.openEditors.visible": 0,
  "files.autoSave": "onFocusChange",
  "terminal.integrated.fontSize": 14,
  "terminal.integrated.lineHeight": 1.3,
  "terminal.integrated.shell.osx": "zsh",
  "editor.codeLens": true,
  "editor.occurrencesHighlight": true,
  "editor.formatOnSave": true,
  "[javascript]": {
    "editor.formatOnSave": false
  },
  "eslint.enable": true,
  "eslint.autoFixOnSave": true,
  "eslint.alwaysShowStatus": false,
  "eslint.run": "onType",
  "javascript.updateImportsOnFileMove.enabled": "always",
  "explorer.confirmDelete": false,
  "diffEditor.ignoreTrimWhitespace": false
}

Upvotes: 3

Views: 3787

Answers (1)

Adi Bnaya
Adi Bnaya

Reputation: 511

You should set your settings in the .eslintrc file (it can either be js, json, or yaml file, the best way to be sure you have the right file is to use the "eslint --init" command), Head into the "rules" sections and just add the name of the rule that you do not want to use, following by a comma and "0", for example:

"rules": {
    "no-inner-declarations": 0,
}

If you want to find the right settings name, you can stand with your mouse on the error indicated by esLint and the floating window that says what is the problem will contain the setting name.

you can also refer to this YouTube video for complete explanation: https://www.youtube.com/watch?v=cMrDePs86Uo

In the video it looks a bit different then now (I think this is an old version of VSCode) Today it looks like that:

how to find the setting name in vsCode

Also in case you did configure that and it still doesn't work I recommend you to start with a new small configuration file and step-by-step adding a new config each time and checking to see if it does not break the rest of the configurations.

This is my basic file that is working:

module.exports = {
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "no-inner-declarations": 0,
    }
};

Upvotes: 3

Related Questions