# ESLint

> **TL;DR**
> Required plugin:
>
>
>
> `JavaScript and TypeScript`:   the plugin is bundled with IntelliJ IDEA and enabled by default.

IntelliJ IDEA integrates with [ESLint](http://eslint.org/)   which brings a wide range of linting rules that can also be extended with plugins. IntelliJ IDEA shows warnings and errors reported by ESLint right in the editor, as you type.   With ESLint, you can also use [JavaScript Standard Style](https://standardjs.com/) as well as [lint
your TypeScript code](linting-typescript.html#ws_eslint_linting_typescript_files_with_eslint_intro).

Besides JavaScript and TypeScript, ESLint can be applied to files of other types in the entire project or in its specific parts, refer to [Configure linting scope](#ws_eslint_configure_scope).

## Before you start

Procedure:

* Download and install [Node.js](http://nodejs.org/#download).

## Install ESLint

Procedure:

1. In your command-line shell or in the embedded Terminal (`Alt+F12` (Windows), `⌥ F12` (macOS), `⌥ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ T` (macOS System Shortcuts), `Alt+F12` (XWin), `Alt+F12` (GNOME), `Alt+F12` (KDE), `Alt+F12` (Emacs), `Alt+F12` (Sublime Text), `⌥ F12` (Sublime Text (macOS)), `Alt+F12` (NetBeans), `Ctrl+Alt+1` (Visual Studio), `⌘ ⌃ 1` (Visual Studio (macOS)), `Alt+F12` (Eclipse), `⌥ F12` (Eclipse (macOS)))  , type one of the following commands:

npm:

* `npm init @eslint/config@latest` to install ESLint in the current project and generate a configuration file. Answer the questions of the wizard. As a result, IntelliJ IDEA installs the latest version of ESLint and generates a `eslint.config.js` configuration file.

* `npm install --save-dev eslint` to install ESLint as a development dependency.

* `npm install --g eslint` for global installation.

pnpm:

* `pnpm create @eslint/config@latest` to install ESLint in the current project and generate a configuration file. Answer the questions of the wizard. As a result, IntelliJ IDEA installs the latest version of ESLint and generates a `eslint.config.js` configuration file.

* `pnpm add -D eslint` to install ESLint as a development dependency.

* `pnpm add -g eslint` for global installation.

yarn:

* `yarn create @eslint/config` to install ESLint in the current project and generate a configuration file. Answer the questions of the wizard. As a result, IntelliJ IDEA installs the latest version of ESLint and generates a `eslint.config.js` configuration file.

* `yarn add -D eslint` to install ESLint as a development dependency.

* `yarn add eslint` for global installation.

2. Optionally, install additional plugins, for example, [eslint-plugin-react](https://www.npmjs.com/package/eslint-plugin-react) to lint React applications.

Learn more from the [ESLint
official website](https://eslint.org/docs/latest/use/getting-started#quick-start).

## Configuration file

### Supported formats of configuration files

Depending on the ESLint version you are using, IntelliJ IDEA recognizes configurations in the following file types:

#### ESLint version 9 and later

`eslint.config.js`, `eslint.config.mjs`, `eslint.config.cjs` (flat format), `eslint.config.ts`, `eslint.config.mts`, or `eslint.config .cts`. Learn more from the [ESLint official website](https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file).

#### ESLint version 8 and earlier

* `.eslintrc.*` (`.eslintrc`, `.eslintrc.json`, or `.eslintrc.yaml` file, or a file in another supported format).

* `.eslintignore`

* `package.json` with a `eslintIgnore` or a `eslintConfig` property. This configuration system is deprecated, learn more from the [ESLint official website](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated).

Learn how to switch to the flat format from [ESLint configuration migration
guide](https://eslint.org/docs/latest/use/configure/migration-guide).

### Create and edit a configuration file

Procedure:

* Open a configuration file or create a new one in the root of your project. Populate the configuration file depending on the ESLint version you are using:

ESLint version 9 and later:

```JAVASCRIPT
// @ts-check

import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';

export default tseslint.config(
        eslint.configs.recommended,
        tseslint.configs.recommended,
);
```

Learn more from the [ESLint official website.](https://eslint.org/docs/latest/use/configure/configuration-files)

ESLint version 8 and earlier:

```JAVASCRIPT
/* eslint-env node */
module.exports = {
    extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
    parser: '@typescript-eslint/parser',
    plugins: ['@typescript-eslint'],
    root: true,
};
```

Learn more from the [ESLint official website.](https://eslint.org/docs/latest/use/configure/configuration-files-deprecated)

## Configure ESLint in IntelliJ IDEA

By default, ESLint is configured [automatically](#ws_js_eslint_automatic_configuration). You can choose to specify all the configuration settings [manually](#ws_js_eslint_manual_configuration) or disable ESLint.

### Configure ESLint automatically

With automatic configuration,    IntelliJ IDEA uses the ESLint package from the project `node_modules` folder and the `` configuration file from the folder where the current file is stored. If no `` configuration file is found in the current file folder, IntelliJ IDEA will look for one in its parent folders up to the project root.

If you have several `package.json` files with ESLint listed as a dependency, IntelliJ IDEA starts a separate process for each `package.json` and processes everything below it. This lets you apply a specific ESLint version or a specific set of plugins to each path in a monorepo or a project with multiple ESLint configurations.

Procedure:

* To configure ESLint automatically in the current project,   open the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`, and select the Automatic ESLint configuration option.

* To configure ESLint automatically in all new projects,     open the Settings for New Projects dialog (`File | New Projects Setup | Settings for New Projects`) , go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`, and select the Automatic ESLint configuration option.

### Configure ESLint manually

With manual configuration, you can use a custom ESLint package, configuration file, and working directories, as well as apply various additional rules and options.

Procedure:

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`, and select Manual ESLint configuration.

2. In the ESLint package field,  specify the location of the eslint or standard package.

3. In the Working directories field, specify the working directories for the ESLint process.

By default, the field is empty, and IntelliJ IDEA detects the working directory automatically. First, it looks for a directory closest to the linted file which contains a [configuration file](#ws_eslint_configuration_file_format).

If the auto-detected working directory doesn't match your project configuration, you need to specify the working directory (directories) manually. Use semicolons as separators. The acceptable values are:

* Absolute paths.

* Paths relative to the project base directory (the parent folder of the `.idea` folder where IntelliJ IDEA-specific project metadata is stored). For example: 1. `./`: use the project base directory as the ESLint process working directory. 2. `client;server`: use `<project_base_dir>/client` and `<project_base_dir>/server` as working directories. For files that are neither under the `client` not under the `server` folder, the working directory will be [auto-detected as described above](#ws_js_eslint_manual_configuration_wd_autodetect). 3. `packages/*`: each subfolder of the `<project_base_dir>/packages` directory will be used as the working directory for the corresponding linted files.

* Paths relative to content roots can be used if some linted files are not under the project base directory in the folder hierarchy.

* [Glob patterns](https://github.com/isaacs/node-glob#glob-primer) that define relative paths to the working directories. For example, with `**/foo -*` each directory with the name starting with `foo-` will be used as the working directory for the corresponding linted files.

4. Choose the configuration to use.

* Automatic search: select this option if ESLint rules are configured in a [configuration file](#ws_eslint_configuration_file_format) of a supported format. IntelliJ IDEA looks for such file starting from the folder where the file to be checked is stored, then searches in its parent folder, and so on until the project root is reached.

* Configuration File - select this option to use a custom file and specify the file location in the Path field.

Learn more about configuring ESLint from the [ESLint official website](https://eslint.org/docs/user-guide/configuring).

5. Optionally:

* In the Extra eslint options field, specify additional command-line options to run ESLint with, use spaces as separators. Learn more about ESLint CLI options from the [ESLint official website](http://eslint.org/docs/user-guide/command-line-interface#options).

* In the Additional rules directory field, specify the location of the files with additional code verification rules. These rules will be applied after the rules from the default configuration file or from a custom configuration file and accordingly will override them. See the ESLint official website for more information about [ESLint configuration files](https://eslint.org/docs/user-guide/configuring) and [adding rules](https://eslint.org/docs/user-guide/configuring#configuring-rules).

### Configure linting scope

Procedure:

1. Open the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`, and select Automatic ESLint configuration or Manual ESLint configuration.

2. In the Run for files field, specify the pattern that defines the set of files to be linted. You can accept the default pattern or type a custom one.

With the default pattern, `**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue}`, ESLint will wake up and process any updated JavaScript, TypeScript, JSX, TSX, HTML, or Vue file. To lint files of other types or files stored in specific folders, use [glob patterns](https://github.com/isaacs/node-glob#glob) to update the default pattern.

* For example, to automatically lint CoffeeScript files as well, add `coffee` to the default pattern as follows: ``` **/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue,coffee} ```

* To lint files from a specific folder, including subfolders, replace `**/*` with `<path to the folder>/**/*`. Suppose, you have a project with the following structure: ![ESLint: custom patterns. Example project structure](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_eslint_configure_scope.png) To lint only the files in the `coffee` folder, update the pattern as follows: ``` coffee/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue,coffee} ``` As a result, the file `linting.coffee` is linted while `no_linting .coffee` is not.

### Fix problems automatically on save

ESLint can fix the detected problems every time your changes are saved either manually, with `Ctrl+S` (Windows), `⌘ S` (macOS), `⌘ S` (IntelliJ IDEA Classic (macOS)), `⌘ S` (macOS System Shortcuts), `Ctrl+S` (XWin), `Ctrl+S` (GNOME), `Ctrl+S` (KDE), `Ctrl+X, Ctrl+S` (Emacs), `Ctrl+S` (Sublime Text), `⌘ S` (Sublime Text (macOS)), `Ctrl+S` (NetBeans), `Ctrl+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS)), or automatically, when you launch a run/debug configuration, or close IntelliJ IDEA, or perform version control actions For more information, refer to [Autosave](saving-and-reverting-changes.html).

Procedure:

* Open the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`, and select the Run eslint --fix on save checkbox.

> **Tip:**
> Enabling this option also enables [Run eslint --fix](saving-and-reverting-changes.html#actions-on-save) in `Settings | Tools | Actions on Save`.

## Lint your code

When installed and enabled, ESLint activates automatically every time you open a JavaScript file. You can also configure ESLint to [detect and fix
problems automatically on save](#ws_eslint_configure_run_eslint_on_save).

By default, IntelliJ IDEA marks detected problems based on the severity levels from the ESLint configuration. See [Configuring ESLint highlighting](#ws_eslint_configure_highlighting) to learn how to override these settings.

Descriptions of the errors detected in the current file and quick-fixes for them are available from the editor and from the File tab of the [Problems](linters.html#ws_js_linters_general_problems_tool_window) tool window.

Errors in all previously opened files and quick-fixes for them are shown in the Project Errors tab of the Problems tool window. To open the tool window, click the Inspection widget in the upper-right corner of the editor:

![Inspection widget](https://resources.jetbrains.com.cn/help/img/idea/2026.2/inspection-widget.png)

For more information, refer to [View problems and
apply quick-fixes in the editor](linters.html#ws_js_linters_editor) and [Problems tool window](linters.html#ws_js_linters_general_problems_tool_window).

### View problems and apply quick-fixes in the editor

Procedure:

* To view the description of a problem, hover over the highlighted code.

![ESLint: errors and warnings are highlighted, the description of a problem is shown in a tooltip.](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_eslint_show_description.png)

To resolve the detected problem, click ESLint: Fix '<rule name>' or press `Alt+Shift+Enter` (Windows), `Alt+Shift+Enter` (macOS), `Alt+Shift+Enter` (IntelliJ IDEA Classic (macOS)), `Alt+Shift+Enter` (macOS System Shortcuts), `Alt+Shift+Enter` (XWin), `Alt+Shift+Enter` (GNOME), `Alt+Shift+Enter` (KDE), `Alt+Shift+Enter` (Emacs), `Alt+Shift+Enter` (Sublime Text), `Alt+Shift+Enter` (Sublime Text (macOS)), `Alt+Shift+Enter` (NetBeans), `Alt+Shift+Enter` (Visual Studio), `Alt+Shift+Enter` (Visual Studio (macOS)), `Alt+Shift+Enter` (Eclipse), `Alt+Shift+Enter` (Eclipse (macOS)).

To resolve all the detected problems in the current file, click More actions (`Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (NetBeans), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))) and select `ESLint: Fix current file` from the list.

![ESLint: resolving problems](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_eslint_show_description_intention_actions.png)

For more information, refer to [View problems and
apply quick-fixes in the editor](linters.html#ws_js_linters_editor).

* You can also configure ESLint to fix all the problems in a file when this file is saved. To configure such behavior, select the Run eslint --fix on save checkbox on the ESLint page of the Settings dialog as described in [Activating and configuring ESLint in IntelliJ IDEA](#ws_js_eslint_activate).

### Lint your code in the Problems tool window

Procedure:

* To open the Problems tool window, click the Inspections widget in the upper-right corner of the editor.

![Inspection widget](https://resources.jetbrains.com.cn/help/img/idea/2026.2/inspection-widget.png)

Alternatively, select `View | Tool windows | Problems` from the main menu or press `Alt+6` (Windows), `⌘ 6` (macOS), `⌘ 6` (IntelliJ IDEA Classic (macOS)), `⌘ 6` (macOS System Shortcuts), `Alt+6` (XWin), `Alt+6` (GNOME), `Alt+6` (KDE), `Alt+6` (Emacs), `Alt+6` (Sublime Text), `⌘ 6` (Sublime Text (macOS)), `Alt+6` (NetBeans), `Alt+6` (Visual Studio), `⌘ 6` (Visual Studio (macOS)), `Alt+6` (Eclipse), `⌘ 6` (Eclipse (macOS)).

* In the File tab, view problem descriptions, apply quick-fixes, navigate to the fragments in the source code where errors occurred, as well as fix them in the Editor Preview pane without leaving the tool window. Learn more from [Problems tool window](problems-tool-window.html).

![Quick-fixes in the Problems tool window](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_js_eslint_problems_tw.png)

* In the Project Errors tab, view the errors in all files that were opened during the current session, with error messages grouped by files in which they were detected.

![Problems tool window, ESLint. Project Errors tab shows syntax errors in previously opened files across the project](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_problems_toolwindow_project_errors_linters.png)

Here you can view problem descriptions, apply quick-fixes, navigate to the fragments in the source code where errors occurred, as well as fix them in the Editor Preview pane without leaving the tool window. Learn more from [Problems tool window](problems-tool-window.html).

## Configure highlighting for ESLint

By default, IntelliJ IDEA marks the detected errors and warnings based on the severity levels from the ESLint configuration. For example, errors are highlighted with a red squiggly line, while warnings are marked with a yellow background.   For more information, refer to [Code inspections](code-inspection.html) and [Change inspection severity](configuring-inspection-severities.html).

### Change the severity level of a rule in the ESLint configuration

Procedure:

* In the [configuration file](#js_lint_eslint_config_file), locate the rule you want to edit and set its value to `1` `warn` or to `2` `error`.

Learn more from the [ESLint official website](https://eslint.org/docs/user-guide/configuring#configuring-rules).

### Ignore the severity levels from the configuration

You can override the severities from the ESLint configuration so that IntelliJ IDEA ignores them and shows everything reported by the linter as errors, warnings, or in a custom color.

![Specifying a custom severity level for ESLint](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_eslint_override_severity_from_linter_config.png)

Procedure: Ignore the severity levels from the configuration

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), select `Editor | Inspections`. The [Inspections
page](inspections-settings.html) opens.

2. In the central pane, go to  JavaScript | Code quality tools | ESLint.

3. In the right-hand pane, clear the Use rule severity from the configuration file checkbox and select the severity level to use instead of the default one.

## Import code style from ESLint

You can import some of the [ESLint code style rules](http://eslint.org/docs/rules/) to the IntelliJ IDEA [JavaScript code style settings](settings-code-style-javascript.html). That enables IntelliJ IDEA to use more accurate code style options for your project when auto-completing, generating, or refactoring the code or adding import statements. When you use the Reformat action, IntelliJ IDEA will then no longer break properly formatted code from the ESLint perspective.

IntelliJ IDEA understands ESLint configurations in all official formats, see also [Supported formats of ESLint configuration files](#ws_eslint_configuration_file_format) above:

* `eslint.config.js`, `eslint.config.mjs`, `eslint.config.cjs`, `eslint.config.ts`, `eslint.config.mts`, or `eslint.config.cts` (flat format) for ESLint version 9 and later.

* `.eslintrc` files and `package.json` files with the `eslintConfig` property for ESLint version 8 and earlier.

Learn more from the [ESLint
official website](https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file).

Procedure:

* When you open your project for the first time, IntelliJ IDEA imports the code style from the project ESLint configuration automatically.

* If your ESLint configuration   is updated (manually or from your version control), open it in the editor and choose Apply ESLint Code Style Rules from the context menu.

![Importing ESLint code style rules from JavaScript or YAML configuration files](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_import_code_style_from_eslint_complex_config.png)

Alternatively, just answer Yes to the "Apply code style from ESLint?" question on top of the file.

The list of applied rules is shown in the Notifications tool window:

![Event log tool window shows the list of applied ESLint rules](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_import_code_style_from_eslint_event_log.png)

## Use JavaScript Standard Style

You can set [JavaScript Standard Style](https://standardjs.com/) as default JavaScript code style for your application so its main rules are applied when you type the code or reformat it. Since Standard is based on ESLint, you can also use Standard via the IntelliJ IDEA ESLint integration.

Procedure: Install JavaScript Standard

* In your command-line shell or in the embedded Terminal (`Alt+F12` (Windows), `⌥ F12` (macOS), `⌥ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ T` (macOS System Shortcuts), `Alt+F12` (XWin), `Alt+F12` (GNOME), `Alt+F12` (KDE), `Alt+F12` (Emacs), `Alt+F12` (Sublime Text), `⌥ F12` (Sublime Text (macOS)), `Alt+F12` (NetBeans), `Ctrl+Alt+1` (Visual Studio), `⌘ ⌃ 1` (Visual Studio (macOS)), `Alt+F12` (Eclipse), `⌥ F12` (Eclipse (macOS)))  , type:

`npm install standard --save-dev`

Learn more from the [JavaScript Standard Style official
website](http://standardjs.com/#install).

Procedure: Enable linting with Standard via ESLint

If you open a project where `standard` is listed in the project's `package.json` file, IntelliJ IDEA enables linting with Standard automatically.

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Languages & Frameworks | JavaScript | Code Quality Tools | ESLint`.

2. On the ESLint page that opens, select Manual ESLint configuration and specify the location of the `standard` package in the ESLint Package  field.

Procedure: Set the JavaScript Standard Style as default

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), go to `Editor | Code Style | JavaScript`.

2. On the [JavaScript](settings-code-style-javascript.html) page, click Set from, and then select JavaScript Standard Style. The style will replace your current scheme.

## ESLint with Docker

With IntelliJ IDEA, you can run ESLint against your code inside a Docker container just in the same way as you do it locally.

Learn more from [Node.js with Docker](node-with-docker.html).

Procedure:

1. Install and enable the Node.js Remote Interpreter plugin on the Settings | Plugins page, tab Marketplace, as described in [Installing plugins from
JetBrains Marketplace](managing-plugins.html#install_plugin_from_repo).

2. Make sure the Node.js and Docker required plugins are enabled on the Settings | Plugins page, tab Installed. For more information, refer to [Managing plugins](managing-plugins.html).

3. Download, install, and configure Docker as described in the [Docker](docker.html) topic.

4. [Configure a Node.js remote
runtime in Docker](node-with-docker.html#ws_node_docker_configure_interpreter) or via [Docker Compose](node-with-docker-compose.html#ws_node_docker_compose_configure_interpreter) and [set it as default](node-with-docker.html#ws_node_docker_manage_dependencies) in your project. Also make sure the package manager associated with this remote runtime is [set as project default](node-with-docker.html#ws_node_docker_manage_dependencies).

5. Open your `package.json` and make sure ESLint is listed in the `devDependencies` section:

```JSON
{
  "name": "node-eslint",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "morgan": "~1.9.1",
    "pug": "2.0.0-beta11"
  },
  "devDependencies": {
    "@eslint/js": "^9.15.0",
    "eslint": "^9.15.0",
    "globals": "^15.12.0"
  }
}
```

6. Right-click anywhere in the editor and select Run '<package manager> install' from the context menu.

7. After that, ESLint works in the same way as when you work with your code locally. View descriptions of detected discrepancies right in the editor or in the Problems tool window and apply suggested quick-fixes.

![ESLint in a Docker container](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ws_node_docker_eslint.png)

## See also

### Procedures

[JavaScript linters](linters.html)

