microsoft/vscode-eslint
TypeScript
Captured source
source ↗microsoft/vscode-eslint
Description: VSCode extension to integrate eslint into VSCode
Language: TypeScript
License: MIT
Stars: 1927
Forks: 378
Open issues: 77
Created: 2015-10-27T11:38:38Z
Pushed: 2026-06-11T06:26:29Z
Default branch: main
Fork: no
Archived: no
README:
VS Code ESLint extension

Integrates ESLint into VS Code. If you are new to ESLint check the documentation.
The extension uses the ESLint library installed in the opened workspace folder. If the folder doesn't provide one, the extension looks for a global install version. If you haven't installed ESLint either locally or globally, do so by running:
Local install (recommended):
# npm npm install --save-dev eslint # yarn yarn add --dev eslint # pnpm pnpm add --save-dev eslint # bun bun add --dev eslint
Global install:
# npm npm install -g eslint # yarn yarn global add eslint # pnpm pnpm add -g eslint # bun bun add -g eslint
On new projects you might need to create an ESLint configuration file. For ESLint v9 and later (or v8.57+ with flat config), this should be one of:
- eslint.config.js (most common)
- eslint.config.mjs
- eslint.config.cjs
- eslint.config.ts
- eslint.config.mts
You can generate a starter config by running:
npx eslint --init
Example global starter settings.json:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}Workspace settings can vary across projects for specific validation:
{
"eslint.validate": [
"javascript",
"typescript",
"vue"
]
}Read more about ESLint CLI.
For projects using older ESLint versions (= 8.21 < 8.57.0.
- Converted the server to use diagnostic pull instead of push.
- Files will be revalidated on focus gain.
- Add a command
ESLint: Revalidate all open filesto revalidate all open files. - Probing support for Astro, MDX and JSON
- Various bug fixes
Version 2.4.4
- same as 2.4.3 - pre-release
Version 2.4.3 - pre-release
- various bug fixes
Version 2.4.2
- same as 2.4.1 pre-release.
Version 2.4.1 - Pre-release
- various bug fixes
Version 2.4.0 (same as 2.3.5 - Pre-release)
- added settings options to control the time budget for validation and fix on save before a
warning or error is raised. The settings are eslint.timeBudget.onValidation and eslint.timeBudget.onFixes
- make server
untitledagnostic - the extension uses now VS Code's language status indicator
- the language status indicator now informs about long linting or fix on save times.
- the setting
eslint.alwaysShowStatusgot removed since the status is now shown as a language status indicator. - support for flat config files
- support for single problem underline.
- various bug fixes
Version 2.3.5 - Pre-release
- added settings options to control the time budget for validation and fix on save before a
warning or error is raised. The settings are eslint.timeBudget.onValidation and eslint.timeBudget.onFixes
Version 2.3.3 - Pre-release
- make server
untitledagnostic
Version 2.3.1 - Pre-release (internal only)
- the extension uses now VS Code's language status indicator
- the language status indicator now informs about long linting or fix on save times.
- the setting
eslint.alwaysShowStatusgot removed since the status is now shown as a language status indicator.
Version 2.3.0 - Pre-release
- support for flat config files
- support for single problem underline.
- various bug fixes
Version 2.2.6 (same as 2.2.5 Pre-release)
- added support for validating single notebook document cells if the language is supported by ESLint
- various bug fixes
Version 2.2.5 - Pre-release
- added support for validating single notebook document cells if the language is supported by ESLint
- various bug fixes
Version 2.2.0
Added support for ESLint V8.0 Beta. To stay backwards compatible with eslint settings the version still uses the CLIEngine if available. However users can force the use of the new ESLint API using the setting eslint.useESLintClass. Beware that the ESLint npm module changed how options are interpreted. It also changed the names of certain options. If you used eslint.options to pass special options to the ESLint npm module you might need to adapt the setting to the new form.
Version 2.1.22
Adapt VS Code's workspace trust model. As a consequence the custom dialog ESLint introduced in version 2.1.7 got removed. In addition the off value got added to the eslint rule customization support.
Version 2.1.20
Added support to customize the severity of eslint rules. See the new setting eslint.rules.customizations.
Version 2.1.18
Asking for confirmation of the eslint.nodePath value revealed a setup where that value is defined separately on a workspace folder level although a multi workspace folder setup is open (e.g. a code-workspace file). These setups need to define the eslint.nodePath value in the corresponding code-workspace file and the extension now warns the user about it. Below an example of such a code-workspace file
{
"folders": [
{
"path": "project-a"
},
{
"path": "project-b"
}
],
"settings": {
"eslint.nodePath": "myCustomNodePath"
}
}Version 2.1.17
To follow VS Code's model to confirm workspace local settings that impact code execution the two settings eslint.runtime and eslint.nodePath now need user confirmation if defined locally in a...
Excerpt shown — open the source for the full document.