ESLint не работает в VS Code?
ESLint не работает для меня в VS Code. У меня есть плагин, установленный в VS Code, и ESLint сам по себе как зависимость разработчика в моем пакете. Json, который я также установил.
Я изменил следующий параметр в пользовательских настройках VS Code:
{
"eslint.options": { "configFile": "C:/mypath" }
}
Я использую команду eslint --init
, чтобы добавить базовый .eslintrc.json
в основной каталог моего пакета.
Другие люди смогли получить обратную связь ESLint от VS Code, используя тот же самый пакет с одним и тем же конфигурационным файлом ESLint.
Я не получал никакой обратной связи ни при каких условиях, когда сразу нарушал несколько правил, которые были включены в рекомендуемый набор правил, который по умолчанию находится внутри файла .eslintrc.json
.
Что мне не хватает?
Изменить: я тестировал с помощью ESLint через командную строку, и все работало, как ожидалось, с ошибками, найденными там, где они должны были быть, однако эти же ошибки никогда не появлялись в VS Code. Проблема, похоже, связана с VS Code, а не с ESLint.
Ответы
Ответ 1
Есть несколько причин, по которым ESLint может не дать вам обратной связи. ESLint будет искать ваш файл конфигурации сначала в вашем проекте, и если он не сможет найти .eslintrc.json, он будет искать глобальную конфигурацию. Лично я устанавливаю ESLint только в каждом проекте и создаю конфигурацию, основанную на каждом проекте.
Вторая причина, по которой вы не получаете обратную связь, заключается в том, что для получения обратной связи вы должны определить свои правила перебора в .eslintrc.json. Если там нет правил или у вас нет плагинов, вы должны их определить.
Ответ 2
Если ESLint работает в терминале, но не внутри VSCode, вероятно, что расширение не сможет обнаружить библиотеку ESLint из папок локального и глобального узловых модулей.
Чтобы проверить, нажмите CTRL + SHIFT + U в VSCode, чтобы перейти к панели "Вывод" после открытия файла JS в вашем проекте. Если отображается "Не удалось загрузить библиотеку ESLint для документа {{documentName}}. Js", значит, при попытке определить путь возникла проблема.
Если да, то установите его вручную, настроив "eslint.nodePath" в настройках. Дайте ему полный путь; использование переменных среды в настоящее время не поддерживается. Эта опция была задокументирована на странице расширения ESLint.
Ответ 3
В моем случае, поскольку я использовал TypeScript с React, исправление было просто сказать ESLint также проверить эти файлы. Это должно идти в ваших пользовательских настройках:
"eslint.validate": [ "javascript", "javascriptreact", "html", "typescriptreact" ],
Ответ 4
В моем случае я не установил расширение ESLint в VSCode, что вызывало проблему. Сделал это и снова начал работать.
Ответ 5
Если вы используете глобальную установку ESLint, любые плагины, используемые в вашей конфигурации, также должны быть установлены глобально. Как мудрый для локальной установки.
если вы установили локально и правильно настроены локально, но eslint не работает, попробуйте перезапустить вашу среду IDE.
Это произошло со мной с помощью VScode.
Ответ 6
У меня была похожая проблема на Windows, однако иногда eslint работал (в vscode) иногда нет. Позже я понял, что через некоторое время все работает нормально. Это было связано с этой проблемой: Eslint сервер занимает ~ 3-5 минут, пока доступно
Установка переменной NO_UPDATE_NOTIFIER=1
решила проблему
Ответ 7
У меня была похожая проблема с eslint, сказавшим, что это "... еще не проверял какие-либо файлы", но ничего не сообщалось в консоли проблем VS Code. Однако после обновления VS Code до последней версии (1.32.1) и перезапуска eslint начал работать.
Ответ 8
Я даю ответ, предполагая, что вы уже определили правила в локальном корне проекта с помощью .eslintrc и .eslintignore. После установки VSCode Eslint Extension несколько настроек, которые нужно сделать в settings.json для vscode
eslint.enable: true
eslint.nodePath: <directory where your extensions available>
Установка eslint local в качестве зависимости проекта является последним компонентом для этого. Не устанавливайте eslint как глобальный, который может конфликтовать с вашим локальным установленным пакетом.
Ответ 9
В моем случае это не сработало, потому что я добавил в проект только одну папку monorepo, хотя у меня были настроены package.json
и расширение. Я работал только тогда, когда я добавил весь проект (который содержал файл package.json
) в код VS.
Ответ 10
В моем случае ESLint был отключен в моей рабочей области. Мне пришлось включить его в настройках расширений vscode.
Ответ 11
В моем случае настройки eslint подтверждают:
"eslint.validate": ["javascript", "javascriptreact", "html", "typescriptreact"],
сделал работу.
Ответ 12
Перезапуск VSCode работал для меня.
Ответ 13
Если вы правильно настроили и уверены, что все ваши настройки верны, но eslint все еще не работает, возможно, вам следует попробовать переустановить VSCode. Работает как шарм для меня.