- ESLint не работает в VS Code?
- ESLint не работает в VS Code?
- 14 ответов
- eslint —fix not fixing when running by npm #7456
- Comments
- murbanowicz commented Oct 26, 2016
- eslintbot commented Oct 26, 2016
- platinumazure commented Oct 27, 2016
- murbanowicz commented Oct 27, 2016
- not-an-aardvark commented Oct 27, 2016
- murbanowicz commented Oct 27, 2016
- platinumazure commented Oct 27, 2016 •
- Failed to apply ESLint fixes to the document. #881
- Comments
- mrmowji commented Jan 22, 2020 •
- To Reproduce
- What’s expected?
- What’s happening instead?
- ESLint CLI
- Environment
- dbaeumer commented Jan 23, 2020
- dbaeumer commented Jan 23, 2020
- mrmowji commented Jan 23, 2020
- dbaeumer commented Jan 24, 2020
- mrmowji commented Jan 24, 2020 •
- cdfarkas commented Jan 24, 2020
- dbaeumer commented Jan 24, 2020
- mrmowji commented Jan 24, 2020 •
- dbaeumer commented Jan 27, 2020
- mrmowji commented Jan 27, 2020 •
- dbaeumer commented Jan 27, 2020
ESLint не работает в VS Code?
ESLint у меня не работает в VS Code. У меня есть плагин, установленный в VS Code, и сам ESLint как зависимость разработчика в моем package.json, который я также установил.
Я изменил следующий параметр в настройках пользователя VS Code:
Я использую команду eslint —init для добавления базового .eslintrc.json файла в основной каталог моего пакета.
Другие люди смогли получить обратную связь ESLint от VS Code, используя тот же пакет с точно таким же файлом конфигурации ESLint.
Я не получил никакой обратной связи при прямом нарушении нескольких правил, которые все были включены в рекомендуемый набор правил, который по умолчанию находится внутри .eslintrc.json файла.
Что мне не хватает?
Изменить: я тестировал использование ESLint через командную строку, и все работало, как ожидалось, с ошибками, обнаруженными там, где они должны были быть, однако эти же ошибки никогда не появлялись в VS Code. Проблема, похоже, связана с VS Code, а не с ESLint.
Есть несколько причин, по которым ESLint может не предоставлять вам обратную связь. ESLint сначала будет искать ваш файл конфигурации в вашем проекте, и если он не может найти там .eslintrc.json, он будет искать глобальную конфигурацию. Лично я устанавливаю только ESLint в каждый проект и создаю конфигурацию на основе каждого проекта.
Вторая причина, по которой вы не получаете обратную связь, заключается в том, что для получения обратной связи вам необходимо определить свои правила линтинга в файле .eslintrc.json. Если там нет правил или у вас не установлены плагины, вы должны их определить.
Если ESLint работает в терминале, но не внутри VSCode, это, вероятно, связано с тем, что расширение не может обнаружить как локальные, так и глобальные node_modules папки.
Для проверки нажмите Ctrl + Shift + U в VSCode, чтобы открыть Output панель после открытия файла JavaScript с известной eslint проблемой. Если он показывает Failed to load the ESLint library for the document
Источник
ESLint не работает в VS Code?
ESLint не работает для меня в VS Code. У меня есть плагин, установленный в VS Code, и сам ESLint как зависимость разработчика в моем package.json, который я также установил.
Я изменил следующую опцию в настройках пользователя кода VS:
Я использовал команду eslint —init , чтобы добавить базовый .eslintrc.json в главный каталог моего пакета.
Другие люди смогли получить отзывы ESLint от VS Code, используя точно такой же пакет с точно таким же файлом конфигурации ESLint.
Я не получил никакой обратной связи, когда напрямую нарушал несколько правил, которые все были включены в рекомендуемый набор правил, который по умолчанию находится внутри файла .eslintrc.json .
Что мне не хватает?
Редактировать: я тестировал с помощью ESLint через командную строку, и все работало, как ожидалось, с ошибками, найденными там, где они должны быть, однако эти же ошибки никогда не обнаруживались в VS Code. Проблема, кажется, на стороне VS Code, а не ESLint.
14 ответов
Есть несколько причин, по которым ESLint может не дать вам обратную связь. ESLint сначала будет искать ваш файл конфигурации в вашем проекте, и если он не сможет найти там .eslintrc.json, он будет искать глобальную конфигурацию. Лично я устанавливаю ESLint только в каждом проекте и создаю конфигурацию на основе каждого проекта.
Вторая причина, по которой вы не получаете обратную связь, состоит в том, что для получения обратной связи вы должны определить свои правила размещения в файле .eslintrc.json. Если там нет правил или у вас не установлены плагины, вам нужно определить их.
Поскольку вы можете успешно выполнять lint с помощью командной строки, проблема, скорее всего, заключается в конфигурации плагина ESLint .
Если расширение установлено правильно, проверьте все свойства конфигурации, относящиеся к ESLint , как в проекте (рабочее пространство), так и в пользовательском (глобальном) файле settings.json.
Есть несколько вещей, которые могут быть неправильно настроены в вашем конкретном случае; для меня это был отключен JavaScript после работы с TypeScript в другом проекте, и мой global settings.json в итоге выглядел следующим образом:
Отсюда это было просто исправить:
Это так часто, что кто-то написал прямую запись в блоге о ESLint не работает в VS Code. Я бы просто добавил, проверьте ваш глобальный user settings.json, прежде чем переопределять конфигурацию локальной рабочей области.
Если вы используете глобальную установку ESLint, все плагины, используемые в вашей конфигурации, также должны быть установлены глобально. Как и для локальной установки. если вы установили локально и правильно настроили локально, но eslint не работает, попробуйте перезапустить IDE. Это только что случилось со мной с VScode.
Настройка рабочих каталогов решила это для меня, так как у меня было несколько проектов с собственными файлами .eslintrc , открытыми в одном и том же окне.
Поместите это в свой .vscode/settings.json
PS: полезная команда для вывода списка всех подкаталогов, содержащих .eslintrc , кроме / node_modules:
find . .eslintrc | grep .eslintrc | grep -v node_modules
У меня была похожая проблема с eslint, сказавшим, что это «. еще не проверял какие-либо файлы», но ничего не сообщалось в консоли проблем VS Code. Однако после обновления VS Code до последней версии (1.32.1) и перезапуска eslint начал работать.
Если ESLint работает в терминале, но не внутри VSCode, вероятно, что расширение не сможет обнаружить библиотеку ESLint из папок локальных и глобальных узловых модулей.
Чтобы проверить, нажмите CTRL + SHIFT + U в VSCode, чтобы перейти к панели «Вывод» после открытия файла JS в вашем проекте. Если отображается «Не удалось загрузить библиотеку ESLint для документа <
Если да, то установите его вручную, настроив «eslint.nodePath» в настройках. Дайте ему полный путь; Использование переменных среды в настоящее время не поддерживается. Этот вариант был задокументирован на странице расширения ESLint.
В моем случае, поскольку я использовал TypeScript с React, исправление было просто сказать ESLint также проверить эти файлы. Это должно идти в ваших пользовательских настройках:
У меня была похожая проблема на окнах, однако иногда eslint работал (в vscode) иногда нет. Позже я понял, что через некоторое время все работает нормально. Это было связано с этой проблемой: сервер eslint занимает
3-5 минут, пока не станет доступным
Установка переменной среды NO_UPDATE_NOTIFIER=1 решила проблему
Я даю ответ, предполагая, что вы уже определили правила в локальном корне проекта с помощью .eslintrc и .eslintignore . После установки VSCode Eslint Extension несколько настроек, которые нужно сделать в settings.json для vscode
eslint.enable: true
eslint.nodePath:
Установка eslint local в качестве зависимости проекта является последним компонентом для этой работы. Не устанавливайте eslint как глобальный, который может конфликтовать с вашим локальным установленным пакетом.
В моем случае это не сработало, потому что я добавил в проект только одну папку monorepo, хотя у меня были настроены package.json и расширение. Я работал только тогда, когда я добавил весь проект (который содержал файл package.json ) в код VS.
Перезапуск VSCode работал для меня.
В моем случае настройка eslint validate to: «eslint.validate»: [«javascript», «javascriptreact», «html», «typescriptreact»], сделала свою работу.
В моем случае ESLint был отключен в моей рабочей области. Мне пришлось включить его в настройках расширений vscode.
В моем случае я не установил расширение ESLint в VSCode, что вызывало проблему. Сделал это, и он снова начал работать.
Источник
eslint —fix not fixing when running by npm #7456
Comments
murbanowicz commented Oct 26, 2016
|
What parser (default, Babel-ESLint, etc.) are you using? babel-eslint
I am trying to use «—fix» in npm scripts, as I do not know why but PHPStorm is not running eslint for vue files.
eslint —fix —ext .js,.vue src — it is throwing errors, but not fixing them at all. I did not find anything which would suggest that I am doing something wrong.
The text was updated successfully, but these errors were encountered:
eslintbot commented Oct 26, 2016
Hi @mariaczi, thanks for the issue. It looks like there’s not enough information for us to know how to help you.
If you’re reporting a bug, please be sure to include:
- The version of ESLint you are using (run eslint -v )
- What you did (the source code and ESLint configuration)
- The actual ESLint output complete with numbers
- What you expected to happen instead
Requesting a new rule? Please see Proposing a New Rule for instructions.
Requesting a rule change? Please see Proposing a Rule Change for instructions.
If it’s something else, please just provide as much additional information as possible. Thanks!
platinumazure commented Oct 27, 2016
Not all rules are fixable. Please include your output, and if possible, an example of code you believe should definitely be fixed.
murbanowicz commented Oct 27, 2016
They are. Semicolons, spaces etc ( I moved to ES6 now so I am cleaning my project now).
Similar issues were fixed by eslint when I ran it with PHPStorm, but it does not want to work with that command in npm.
not-an-aardvark commented Oct 27, 2016
@mariaczi, may you please provide the information that the bot requested?
- The version of ESLint you are using (run eslint -v )
- What you did (the source code and ESLint configuration)
- The actual ESLint output complete with numbers
- What you expected to happen instead
This will make it much easier for us to help you. At the moment, you haven’t given us very much information, so it’s very difficult for us to figure out what’s going on. Thanks!
murbanowicz commented Oct 27, 2016
eslint version: v3.8.1
Part of Eslint output (all other similar):
I hope it is enough now? Sorry for not providing everything on the begining.
platinumazure commented Oct 27, 2016 •
@mariaczi You’re using eslint-plugin-html to lint .vue files. Unfortunately, auto-fix is not supported on plugins with processors (i.e., plugins which transform files to be ready for linting in JS).
The main reason is due to a technical/architectural snag. Auto-fix is currently run before post-processing and uses ranges; post-processing is run later and uses line/column. So we just haven’t figured out a good way to get auto-fix to work for plugins yet.
EDIT: Previous discussion about plugin processor auto-fix: #5121
Источник
Failed to apply ESLint fixes to the document. #881
Comments
mrmowji commented Jan 22, 2020 •
To Reproduce
- Install VS Code.
- Install Nodejs.
- Open the project folder and npm init .
- npm install eslint —save-dev
- Install VSCode-ESLint extension.
- npx eslint —init and select Airbnb as the base style guide.
- Create a JS file in that folder and put the following code inside:
- Ctrl+Shift+P and ESLint — Fix all auto-fixable problems .
What’s expected?
It should insert a semicolon after the statement.
Or, at least highlight the errors by default. There are four errors in that single line.
What’s happening instead?
I get this error:
Failed to apply ESLint fixes to the document. Please consider opening an issue with steps to reproduce.
ESLint CLI
Using ESLint CLI with eslint index.js works:
Environment
OS: Ubuntu 18.04.3 LTS
VS Code: 1.41.1
Nodejs: 12.14.1
NPM: 6.13.4
ESLint: 6.8.0
The text was updated successfully, but these errors were encountered:
dbaeumer commented Jan 23, 2020
@mrmowji thanks for the detailed bug report. Unfortunately I can’t reproduce it. Here is what I see:
Does validation work for you (e.g. you see the errors in the problems view) ?
dbaeumer commented Jan 23, 2020
Which version of the plugin are you using?
mrmowji commented Jan 23, 2020
@dbaeumer Thanks for the screen. Unfortunately I don’t have those red underlines, not even the light bulb. Problems view just says «No problems have been detected in the workspace so far».
I use vscode-eslint 2.0.15.
I tried adding the following properties to Preferences JSON file. No luck.
dbaeumer commented Jan 24, 2020
This is very strange. Is there anything in the ESLint Output channel ? Can you enable tracing to see if that gives us additional information «eslint.trace.server»: «verbose»
mrmowji commented Jan 24, 2020 •
@dbaeumer Thanks for the hint. I get this error on the ESLint Output window:
If I remove «airbnb-base» from extends property, it works. It seems that this issue doesn’t belong here. Does it?
I’m wondering why it works with ESLint CLI, but not with VSCode-ESLint.
cdfarkas commented Jan 24, 2020
same issue here, if i remove «standard» in extends everything works fine.
dbaeumer commented Jan 24, 2020
Still strange since the npm install should have installed the eslint-plugin-import module. Here is what I see in my node_modules folder:
mrmowji commented Jan 24, 2020 •
@dbaeumer I have the same directories. Here is a shot:
dbaeumer commented Jan 27, 2020
This is strange. I have no idea why eslint doesn’t find the plugin then. Can you set the setting eslint.debug to true and provide me with the output of the ESLint channel. May be there is something interesting in it.
mrmowji commented Jan 27, 2020 •
@dbaeumer I added eslint.debug: true to the Preferences JSON file. VSCode-ESLint is working now. But removing that property from Preferences doesn’t seem to have any effect; still working. I’m not sure how.
The only thing I can remember prior to this change, is that I used to have multiple Nodejs apps in my workspace (separated by folders) and I decided to have a single folder opened in VS Code. But now, adding more folders to the workspace doesn’t seem to have any effect.
dbaeumer commented Jan 27, 2020
If you have multiple folders each having their own eslint installation you might need to configure the working directory setting if you open the parent folder. See eslint.workingDirectories . A config that works in most cases is «eslint.workingDirectories»: [< "mode": "auto" >]
I will close the issue for now. Please ping if it reoccurs and the eslint.workingDirectories setting doesn’t help fixing it.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник