RepoMicrosoftMicrosoftpublished Oct 27, 2015seen 15h

microsoft/vscode-eslint

TypeScript

Open original ↗

Captured source

source ↗
published Oct 27, 2015seen 15hcaptured 2hhttp 200method plain

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

![Build Status](https://dev.azure.com/vscode/vscode-eslint/_build?definitionId=51)

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 files to 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

Version 2.4.2

  • same as 2.4.1 pre-release.

Version 2.4.1 - Pre-release

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 untitled agnostic
  • 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.alwaysShowStatus got 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 untitled agnostic

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.alwaysShowStatus got 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.