Современные среды разработки семейства IntelliJ обладают встроенной поддержкой ESLint, позволяющей выполнять анализ кода непосредственно во время написания программ. Интеграция обеспечивает автоматическую проверку JavaScript, TypeScript, JSX, TSX, Vue и других файлов, поддерживаемых ESLint через соответствующие плагины и конфигурации.
Использование ESLint внутри IDE предоставляет ряд преимуществ:
В отличие от запуска ESLint через командную строку, интеграция с WebStorm и IntelliJ обеспечивает непрерывный анализ кода без необходимости выполнять отдельные команды.
Поддержка ESLint присутствует в следующих продуктах компании JetBrains:
Механизм настройки и работы ESLint практически одинаков во всех перечисленных продуктах.
Перед использованием интеграции необходимо наличие нескольких компонентов:
Проверка Node.js выполняется командой:
node -v
npm -v
Установка ESLint в проект:
npm install eslint --save-dev
Или:
yarn add eslint --dev
После установки обычно создаётся конфигурация:
npx eslint --init
Либо используется современный файл:
// eslint.config.js
export default [
{
rules: {
semi: "error",
quotes: ["error", "single"]
}
}
];
После обнаружения конфигурации IDE автоматически подключает ESLint.
Наиболее распространённый режим работы — Automatic ESLint Configuration.
В этом режиме IDE самостоятельно:
Схема работы выглядит следующим образом:
Проект
├─ node_modules
│ └─ eslint
├─ package.json
├─ eslint.config.js
└─ src
└─ app.js
При открытии файла IDE автоматически определяет наличие ESLint и начинает проверку кода.
Преимущества автоматического режима:
Конфигурация располагается в разделе:
Settings
└─ Languages & Frameworks
└─ JavaScript
└─ Code Quality Tools
└─ ESLint
Для macOS:
Preferences
└─ Languages & Frameworks
└─ JavaScript
└─ Code Quality Tools
└─ ESLint
В окне настроек доступны основные параметры:
| Параметр | Назначение |
|---|---|
| Automatic ESLint Configuration | Автоматическая настройка |
| Manual ESLint Configuration | Ручная настройка |
| Node Interpreter | Интерпретатор Node.js |
| ESLint Package | Путь к пакету ESLint |
| Configuration File | Конфигурационный файл |
| Run eslint –fix on save | Исправление при сохранении |
В некоторых случаях автоматическое обнаружение невозможно:
Тогда применяется режим Manual Configuration.
Необходимо указать:
Например:
/usr/local/bin/node
или
C:\Program Files\nodejs\node.exe
project/node_modules/eslint
eslint.config.js
или
.eslintrc.json
После сохранения настроек IDE начинает использовать указанные параметры.
После запуска ESLint найденные проблемы отображаются несколькими способами.
Пример:
const message = "Hello"
Если правило требует точку с запятой:
semi: ['error', 'always']
редактор выделит строку как ошибочную.
Справа в редакторе появляются цветные индикаторы:
Это позволяет быстро перемещаться между найденными нарушениями.
При наведении курсора появляется сообщение ESLint:
Missing semicolon.
или
Strings must use singlequote.
Таким образом разработчик получает точную информацию о нарушенном правиле.
Все найденные нарушения могут отображаться в окне:
Problems
Оно содержит:
Пример:
src/user.js
12:5 Missing semicolon
15:8 Unexpected console statement
Панель особенно полезна при работе с большими проектами.
Одной из самых полезных возможностей является система быстрых исправлений.
При нахождении ошибки достаточно вызвать:
Alt + Enter
Windows/Linux
или
Option + Enter
macOS
После этого появляется список доступных действий.
Пример:
const title = "Article";
Для правила:
quotes: ['error', 'single']
IDE предложит заменить двойные кавычки на одинарные.
Результат:
const title = 'Article';
Многие правила поддерживают автоматическое исправление.
Пример запуска из терминала:
npx eslint . --fix
В WebStorm и IntelliJ аналогичный механизм может запускаться непосредственно из редактора.
Исправляются:
Например:
До исправления:
const name="John"
После исправления:
const name = 'John';
Современные версии IDE позволяют запускать ESLint автоматически при сохранении.
Механизм особенно востребован в командах, использующих строгие стандарты форматирования.
Последовательность работы:
Редактирование файла
↓
Сохранение
↓
ESLint --fix
↓
Обновление документа
В результате код автоматически приводится к установленным правилам.
ESLint в WebStorm и IntelliJ полностью поддерживает TypeScript.
Установка необходимых пакетов:
npm install --save-dev \
eslint \
typescript \
typescript-eslint
Конфигурация:
import tseslint from 'typescript-eslint';
export default [
...tseslint.configs.recommended
];
После настройки IDE анализирует:
interface User {
id: number;
name: string;
}
и отображает ошибки TypeScript-правил ESLint непосредственно в редакторе.
Для React-проектов обычно устанавливаются дополнительные пакеты:
npm install --save-dev \
eslint-plugin-react \
eslint-plugin-react-hooks
Пример конфигурации:
rules: {
'react/jsx-key': 'error',
'react-hooks/rules-of-hooks': 'error'
}
IDE будет обнаруживать проблемы внутри JSX:
items.map(item => (
<li>{item}</li>
))
Например, отсутствие свойства key будет отмечено как
ошибка.
Для Vue используется специальный парсер и набор правил:
npm install --save-dev eslint-plugin-vue
Конфигурация:
import vue from 'eslint-plugin-vue';
export default [
...vue.configs['flat/recommended']
];
После настройки IDE корректно анализирует:
<template>
<div>{{ message }}</div>
</template>
включая шаблоны, скрипты и стили компонента.
Крупные проекты часто используют структуру:
repo
├─ packages
│ ├─ frontend
│ └─ backend
├─ eslint.config.js
└─ package.json
Либо:
repo
├─ apps
├─ services
└─ packages
WebStorm умеет автоматически определять ближайшую конфигурацию ESLint для каждого файла.
Если конфигураций несколько:
frontend/eslint.config.js
backend/eslint.config.js
IDE запускает соответствующую конфигурацию в зависимости от расположения открытого файла.
В сложных проектах возможно разделение правил:
.eslintrc.frontend.json
.eslintrc.backend.json
или
frontend/eslint.config.js
backend/eslint.config.js
В ручном режиме можно явно указать используемую конфигурацию.
Это особенно полезно при различиях между браузерным и серверным кодом.
Очень часто ESLint используется совместно с Prettier.
Стандартная схема:
ESLint
↓
Поиск ошибок
↓
Prettier
↓
Форматирование
Установка:
npm install --save-dev \
prettier \
eslint-config-prettier
После интеграции WebStorm может запускать оба инструмента автоматически.
Это позволяет одновременно:
При возникновении проблем полезно использовать диагностические возможности IDE.
Через журналы можно увидеть:
Типичные сообщения:
ESLint package not found
Failed to load plugin
Cannot find configuration file
Эти сведения значительно упрощают поиск причин неисправностей.
Причины:
node_modules.Решение:
npm install
или
npm install eslint --save-dev
Следует проверить наличие файлов:
eslint.config.js
или
.eslintrc.json
Также необходимо убедиться, что они находятся в пределах открытого проекта.
Пример:
Failed to load plugin react
Обычно причина заключается в отсутствии зависимости:
npm install eslint-plugin-react --save-dev
Не каждое правило поддерживает механизм fix.
Например:
'no-console': 'error'
не может быть автоматически исправлено ESLint.
В таких случаях требуется ручное изменение кода.
Интеграция ESLint с WebStorm и IntelliJ превращает статический анализ в непрерывный процесс контроля качества кода. Проверка выполняется во время набора текста, ошибки становятся заметны ещё до запуска приложения, а механизм быстрых исправлений и автоматического форматирования существенно ускоряет разработку. Благодаря поддержке современных конфигураций, TypeScript, React, Vue и монорепозиториев среда разработки способна эффективно обслуживать как небольшие проекты, так и крупные корпоративные кодовые базы.