Интегрирует Eslint в VS -код. Если вы новичок в Eslint, проверьте документацию.
Расширение использует библиотеку Eslint, установленную в папке Opened Workspace. Если папка не предоставляет одну, расширение ищет глобальную версию установки. Если вы не установили Eslint ни локально, ни на глобальном уровне, сделайте это, запустив npm install eslint
в папке Workspace для локальной установки или npm install -g eslint
для глобальной установки.
В новых папках вам также может потребоваться создание файла конфигурации .eslintrc
. Вы можете сделать это, используя команду VS Code Command Create ESLint configuration
, либо запустив команду eslint
в терминале с npx eslint --init
.
В этом разделе описываются основные релизы и их улучшения. Для получения подробного списка изменений, пожалуйста, обратитесь к журналу изменений.
Из версии 2.2.3 на первом нечетном минорном или патчах номера версий указывают на инсайдер или предварительный выпуск. Таким образом, версии 2.2.3
, 2.2.5
и 2.3.1
будут предварительно выпущенными версиями. 2.2.10
, 2.4.10
и 3.0.0
будут все регулярные версии выпуска.
eslint.validate
указана только файлы в этом списке, будут подтверждены. Например, настройка формы "eslint.validate": [
"javascript"
]
eslint.useFlatConfig
, которая удостоена звания ESLINT версии 8.57.0 и выше. Если используется одна из этих версий, расширение придерживается плана развертывания Eslint Config. Настройка имеет то же значение, что и переменная среды ESLINT_USE_FLAT_CONFIG
. Это означает:eslint.experimental.useFlatConfig
устарели и должны использоваться только для версий ESLINT> = 8.21 <8.57.0.ESLint: Revalidate all open files
для повторной переоценки всех открытых файлов.eslint.timeBudget.onValidation
и eslint.timeBudget.onFixes
untitled
агностикиeslint.alwaysShowStatus
была удалена, так как статус теперь показан как индикатор статуса языка.eslint.timeBudget.onValidation
и eslint.timeBudget.onFixes
untitled
агностикиeslint.alwaysShowStatus
была удалена, так как статус теперь показан как индикатор статуса языка. Добавлена поддержка бета -версии Eslint V8.0. Чтобы оставаться в обратном порядке совместимы с настройками Eslint, версия по -прежнему использует клиенгин, если она доступна. Однако пользователи могут заставить использовать новый API Eslint, используя настройку eslint.useESLintClass
. Остерегайтесь, что модуль Eslint NPM изменил, как интерпретируются параметры. Это также изменило имена определенных вариантов. Если вы использовали eslint.options
для передачи специальных опций в модуль Eslint NPM, вам может потребоваться адаптировать настройку к новой форме.
Adapt Vs Code Workspace Trust Model. Как следствие, пользовательский диалог Eslint, представленный в версии 2.1.7
был удален. Кроме того, стоимость off
была добавлена в поддержку настройки правил Eslint.
Добавлена поддержка для настройки серьезности правил Eslint. См. Новую настройку eslint.rules.customizations
.
Запрашивая подтверждение значения eslint.nodePath
выявило настройку, в которой это значение определяется отдельно на уровне папки рабочей области, хотя настройка нескольких рабочих пространств открыта (например, файл кода Workspace). Эти настройки должны определить значение eslint.nodePath
в соответствующем файле code-workspace
, а расширение теперь предупреждает пользователя об этом. Ниже пример такого файла code-workspace
{
"folders" : [
{
"path" : " project-a "
},
{
"path" : " project-b "
}
],
"settings" : {
"eslint.nodePath" : " myCustomNodePath "
}
}
Чтобы следовать модели VS Code, чтобы подтвердить локальные настройки рабочей области, которые влияют на выполнение кода, два настройки eslint.runtime
и eslint.nodePath
теперь нуждаются в подтверждении пользователя, если определены локально в папке Workspace или в файле рабочей области. Пользователи, использующие эти настройки в этих локальных областях, увидят уведомление, напоминающее им о необходимости подтверждения.
Версия также добавляет команду для перезапуска сервера Eslint.
Поток утверждения, позволяющий выполнять библиотеку Eslint, переработана. Его первоначальный опыт теперь заключается в следующем:
Выполнение библиотеки Eslint может быть отклонено или одобрено с помощью следующих жестов:
ESLint: Manage Library Execution
из палиты командВсе жесты откроют следующий диалог:
Выбранное действие затем отражается в элементе панели панели состояния Eslint следующим образом:
Allow
префикс элемент панели состояния с помощью следа.Allow Everywhere
префиксу элемент панели панели состояния с двойной галочкой.Deny
и Disable
будет префиксом элемента строки состояния с заблокированным знаком.Вы можете управлять нашими решениями, используя следующие команды:
ESLint: Manage Library Execution
будет открыт выше диалог вышеESLint: Reset Library Decisions
позволяет сбросить предыдущие решения, которые приняли.В этом выпуске также рассматривается уязвимость, описанная в CVE-2021-27081.
Версия расширения 2.0.4 содержит следующие основные улучшения:
eslint.validate
. То же самое относится и к файлам html и vue.js.eslint.workingDirectories
, теперь могут использовать шаблоны глобусов вместо перечисления каждой папки проекта. Например, { "pattern": "code-*" }
будет соответствовать всем папкам проекта, начиная с code-
. Кроме того, расширение теперь по умолчанию меняет рабочий каталог. Вы можете отключить эту функцию с новым свойством !cwd
.eslint.format.enable
.editor.codeActionsOnSave
. Настройка подтверждает специфическое свойство Eslint. source.fixAll.eslint
. Расширение также уважает общий источник свойства. source.fixAll
.Настройка ниже включает Auto Fix для всех поставщиков, включая Eslint:
"editor.codeActionsOnSave" : {
"source.fixAll" : " explicit "
}
Напротив, эта конфигурация только включает ее для Eslint:
"editor.codeActionsOnSave" : {
"source.fixAll.eslint" : " explicit "
}
Вы также можете выборочно отключить Eslint через:
"editor.codeActionsOnSave" : {
"source.fixAll" : " explicit " ,
"source.fixAll.eslint" : " never "
}
Также обратите внимание, что существует бюджет времени на 750 мс для запуска кодовых действий при сохранении, что может быть недостаточно для большого файла JavaScript / TypeScript. Вы можете увеличить бюджет по времени, используя настройку editor.codeActionsOnSaveTimeout
.
Старая настройка eslint.autoFixOnSave
теперь устарела и может быть безопасно удалить.
Если вы используете версию Eslint Extension <2.x, пожалуйста, обратитесь к параметрам настроек здесь.
Это расширение вносит следующие переменные в настройки:
eslint.enable
: включить/отключить Eslint для папки рабочей области. Включено по умолчанию.
eslint.debug
: включает режим отладки Eslint (то же самое, что и опция командной строки -debug). Пожалуйста, смотрите выходной канал Eslint для вывода отладки. Эти параметры очень полезны для отслеживания задач конфигурации и установки с Eslint, поскольку он предоставляет словесную информацию о том, как Eslint проверяет файл.
eslint.lintTask.enable
: вносит ли расширение задачу прозрачности, чтобы пробить целую папку рабочей области.
eslint.lintTask.options
: параметры командной строки, применяемые при выполнении задачи для снятия всего рабочего пространства (https://eslint.org/docs/user-guide/command-line-interface). Примером указывать на пользовательский файл .eslintrc.json
и пользовательский .eslintignore
{
"eslint.lintTask.options" : " -c C:/mydirectory/.eslintrc.json --ignore-path C:/mydirectory/.eslintignore . "
}
Старая обстановка eslint.packageManager
теперь устарела и может быть безопасно удалить. Это контролировало диспетчер пакетов, который будет использоваться для разрешения библиотеки Eslint. Это оказывает только влияние, если библиотека Eslint разрешена во всем мире. Допустимыми значениями являются "npm"
или "yarn"
или "pnpm"
.
eslint.options
: параметры для настройки того, как начинается Eslint, используя либо API класса Eslint, либо API CliEngine. Расширение использует API класса Eslint, если используется Eslint версия 8 или выше, или если используется Eslint Version 7, и настройка eslint.useESLintCLass
устанавливается на TRUE. Во всех других случаях используется клиенгин API. Примером указывать на пользовательский файл .eslintrc.json
, используя новый API Eslint:
{
"eslint.options" : { "overrideConfigFile" : " C:/mydirectory/.eslintrc.json " }
}
Примером указывает на пользовательский файл .eslintrc.json
{
"eslint.options" : { "configFile" : " C:/mydirectory/.eslintrc.json " }
}
eslint.useESLintClass
(@Since 2.2.0) - использовать ли API класса Eslint, даже если присутствует API CliEngine. Настройка - это честь только при использовании Eslint Version 7.X.
eslint.run
- запустить Linter onSave
или onType
, по умолчанию есть onType
.
eslint.quiet
- игнорировать предупреждения.
eslint.runtime
- Используйте этот параметр, чтобы установить путь времени выполнения узла для запуска Eslint Under. Используйте "node"
если вы хотите использовать вашу систему по умолчанию.
eslint.execArgv
-Используйте этот параметр для передачи дополнительных аргументов в среду выполнения узла, например --max_old_space_size=4096
eslint.nodeEnv
- Используйте этот настройка, если для определения необходимости плагина Eslint или process.env.NODE_ENV
.
eslint.nodePath
- используйте этот параметр, если установленного пакета Eslint не может быть обнаружен, например /myGlobalNodePackages/node_modules
.
eslint.probe
- массив для идентификаторов языка, для которого должно быть активировано расширение Eslint, и должен попытаться проверить файл. Если проверка не удается для исследований языков, расширение говорит о молчании. По умолчанию ["astro", "javascript", "javascriptreact", "typescript","typescriptreact", "html", "mdx", "vue", "markdown", "json", "jsonc"]
.
eslint.validate
- массив языковых идентификаторов, указывающих файлы, для которых должна быть выполнена проверка. Если указаны только файлы с одним из указанных языковых идентификаторов, будут подтверждены. Это сопоставимо с опцией командной строки --ext
. По умолчанию на null
.
eslint.format.enable
: включает Eslint в качестве форматера для проверенных файлов. Хотя вы также можете использовать форматер при сохранении, используя editor.formatOnSave
настройки. Formatonsave рекомендуется использовать функцию editor.codeActionsOnSave
, поскольку он обеспечивает лучшую конфигурируемость.
eslint.workingDirectories
- указывает, как вычисляются рабочие каталоги, которые использует Eslint. Eslint разрешает файлы конфигурации (например, eslintrc
, .eslintignore
) относительно рабочего каталога, поэтому важно правильно настроить это. Если выполнение Eslint в терминале требует от вас изменить рабочий каталог в терминале в подпапку, то обычно необходимо настроить эту настройку. (См. Также параметры класса Eslint#CWD). Пожалуйста, также имейте в виду, что файл .eslintrc*
разрешен с учетом родительских каталогов, тогда как .eslintignore
. Можно использовать следующие значения:
[{ "mode": "location" }]
(@Since 2.0.0): инструктирует Eslint использовать местоположение папки рабочей области или местоположение файла (если не открыта папка рабочей области) в качестве рабочего каталога. Это по умолчанию и та же стратегия, что и в более старых версиях расширения Eslint (1.9.x версии).[{ "mode": "auto" }]
(@Since 2.0.0): инструктирует Eslint, чтобы вывести рабочий каталог на основе местоположения файлов package.json
, eslint.config.js
, .eslintignore
и .eslintrc*
. Это может работать во многих случаях, но также может привести к неожиданным результатам.string[]
: массив рабочих каталогов для использования. Рассмотрим следующую схему каталога: root/
client/
.eslintrc.json
client.js
server/
.eslintignore
.eslintrc.json
server.js
"eslint.workingDirectories" : [ "./client" , "./server" ]
!cwd
(например { "directory": "./client", "!cwd": true }
). Это будет использовать клиентский каталог в качестве рабочего каталога Eslint, но не изменит рабочую каталог процесса.[{ "pattern": glob pattern }]
(@Since 2.0.0): позволяет указать шаблон для обнаружения рабочего каталога. Это в основном короткий сокращение для перечисления каждого каталога. Если у вас есть репозиторий Mono, когда все ваши проекты находятся ниже папки пакетов, вы можете использовать { "pattern": "./packages/*/" }
чтобы все эти папки работали рабочие каталоги. eslint.codeAction.disableRuleComment
- объект с свойствами:
enable
- показать правило отключения Lint в меню быстрого исправления. true
по умолчанию.location
- Выберите либо добавить комментарий eslint-disable
на separateLine
или sameLine
. separateLine
- это по умолчанию. Пример: { "enable" : true , "location" : " sameLine " }
eslint.codeAction.showDocumentation
- объект со свойствами:
enable
- Показать веб -страницу «Открыть правило Lint» в меню быстрого исправления. true
по умолчанию. eslint.codeActionsOnSave.mode
(@Since 2.0.12) - Управляет, какие проблемы решаются при запуске действий кода при сохранении.
all
: исправляет все возможные проблемы, переоценивая содержание файла. Это выполняет тот же путь кода, что и запуск Eslint с опцией --fix
в терминале и, следовательно, может занять некоторое время. Это значение по умолчанию.problems
: Исправляет только известные в настоящее время проблемы с фиксируемыми, если их текстовые изменения не являются непересекающимися. Этот режим намного быстрее, но, вероятно, только исправляет части проблем. Обратите внимание, что если eslint.codeActionsOnSave.mode
устанавливается на problems
, eslint.codeActionsOnSave.rules
игнорируется.
eslint.codeActionsOnSave.rules
(@Since 2.2.0) - управляет правилами, которые принимаются во время действия кода при сохранении выполнения. Если не указано все правила, указанные с помощью нормального механизма конфигурации Eslint, рассматриваются. Пустой массив не приводит к не учитываемым правилам. Если массив содержит более одной записи, которая имеет значение, а первое матч определяет состояние правила включения / выключения. Этот настройка удостоена чести только в следующих случаях:
eslint.codeActionsOnSave.mode
имеет другое значение, чем problems
eslint.useESLintClass
установлен на True (версия> = 8 || (версия == 7.x && eslint.useeslintClass)).В этом примере рассматриваются только полуколонные правила:
"eslint.codeActionsOnSave.rules" : [
" *semi* "
]
Этот пример удаляет все конкретные правила ESLINT TypeScript из действия кода при сохранении Pass, но сохраняет все другие правила:
"eslint.codeActionsOnSave.rules" : [
" !@typescript-eslint/* " ,
" * "
]
Этот пример удерживает отступ и полу правила от Eslint TypeScript, отключает все другие правила Eslint TypeScript и сохраняет остальное:
"eslint.codeActionsOnSave.rules" : [
" @typescript-eslint/semi " ,
" @typescript-eslint/indent " ,
" !@typescript-eslint/* " ,
" * "
]
eslint.rules.customizations
(@Since 2.1.20) - правила силы сообщать о различной серьезности в коде VS по сравнению с истинной конфигурацией проекта. Содержит эти свойства:
"rule
»: выберите «Правила с именами», которые соответствуют, факторинг в звездочках как подстановочные знаки: { "rule": "no-*", "severity": "warn" }
"!"
Нацеливаться на все правила, которые не соответствуют имени: { "rule": "!no-*", "severity": "info" }
"severity"
: устанавливает новую строгость для соответствующих правил (ов), "downgrade"
до более низкой тяжести, "upgrade"
на них до более высокой серьезности, или "default"
, как их первоначальная тяжесть"fixable"
: выберите только автофиксируемые правила: { "rule": "no-*", "fixable": true, "severity": "info" }
В этом примере все правила переопределены в предупреждениях:
"eslint.rules.customizations" : [
{ "rule" : " * " , "severity" : " warn " }
]
В этом примере правила no-
являются информативными, другие правила понижаются, а "radix"
сбросится по умолчанию:
"eslint.rules.customizations" : [
{ "rule" : " no-* " , "severity" : " info " },
{ "rule" : " !no-* " , "severity" : " downgrade " },
{ "rule" : " radix " , "severity" : " default " }
]
В этом примере все автоматические правила переопределены информацией:
"eslint.rules.customizations" : [
{ "rule" : " * " , "fixable" : true , "severity" : " info " }
]
eslint.format.enable
(@since 2.0.0) - использует Eslint в качестве форматера для файлов, которые подтверждаются Eslint. Если включено, пожалуйста, убедитесь, что отключить другие форматер, если вы хотите сделать это по умолчанию. Хороший способ сделать это-добавить следующую настройку "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }
для JavaScript. Для TypeScript вам необходимо добавить "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }
.
eslint.onIgnoredFiles
(@Since 2.0.10): используется для управления, следует ли генерировать предупреждения при попытке игнорировать файлы. По умолчанию off
. Может быть настроен на warn
.
editor.codeActionsOnSave
(@since 2.0.0): эта настройка теперь поддерживает source.fixAll.eslint
. Если установить на True все автоматические ошибки Eslint из всех плагинов будут исправлены при сохранении. Вы также можете выборочно включить и отключить конкретные языки, используя настройки VS -кода. Чтобы отключить codeActionsOnSave
для файлов HTML, используйте следующую настройку:
"[html]" : {
"editor.codeActionsOnSave" : {
"source.fixAll.eslint" : false
}
}
Старая настройка eslint.autoFixOnSave
теперь устарела и может быть безопасно удалить. Пожалуйста, также обратите внимание, что если вы используете Eslint в качестве формы по умолчанию, вам следует отключить editor.formatOnSave
, когда вы включите editor.codeActionsOnSave
. В противном случае вы файл зафиксируется дважды, что в ненужном.
eslint.problems.shortenToSingleLine
: (@Since 2.3.0) - сокращает текст подчеркнутых проблем для их первой связанной линии.
eslint.experimental.useFlatConfig
: (@since 2.3.0) - обеспечивает поддержку экспериментальной плоской конфигурации (aka eslint.config.js, поддерживается версией Eslint 8.21 или более поздней версии)
eslint.timeBudget.onValidation
(@Since 2.3.5) - управляет временным бюджетом, который можно использовать для проверки перед предупреждением или ошибкой.
eslint.timeBudget.onFixes
(@Since 2.3.5) - управляет временным бюджетом, который можно использовать для вычисления исправлений до того, как будет показана предупреждение или ошибка.
Если старая опция eslint.autoFixOnSave
установлен на True Eslint, будет предпринять преобразование его в новый editor.codeActionsOnSave
. Если вы хотите избежать миграции, вы можете ответить в диалоговом окне следующими:
eslint.migration.2_x
на off
Миграция всегда можно запустить вручную, используя команду ESLint: Migrate Settings
Это расширение предоставляет следующие команды в командную палитру.
.eslintrc.json
Create '.eslintrc.json' file
.Fix all auto-fixable problems
: применяет резолюции Eslint Auto-Fix ко всем задачам Fixable. Расширение - это отдельный файл только при наборе набора. Если вы хотите провести все рабочие пространства eslint.lintTask.enable
true
, и расширение также внесет вклад в eslint: lint whole folder
. Больше нет необходимости определить пользовательскую задачу в tasks.json
.
Отличное введение о том, как использовать TypeScript с использованием Eslint, можно найти в TypeScript - Eslint. Пожалуйста, ознакомьтесь с введением перед использованием расширения ESLINT VS ESLINT в настройке TypeScript. Особенно убедитесь, что вы можете успешно проверить файлы TypeScript в терминале, используя команду eslint
.
Этот проект сам использует Eslint для проверки файлов TypeScript. Таким образом, его можно использовать как план, чтобы начать работу.
Чтобы избежать проверки из любой установки TSLINT, отключите TSLINT с помощью "tslint.enable": false
.
Как и в случае с JavaScript Validating TypeScript в репозитории Mono, требуется, чтобы вы сообщили о расширении ESLINT VS ESLINT, каковы текущие рабочие каталоги. Используйте настройку eslint.workingDirectories
для этого. Для этого репозитория настройка рабочего каталога выглядит следующим образом:
"eslint.workingDirectories" : [ " ./client " , " ./server " ]
Мигрирование от Eslint 5.x в Eslint 6.x может потребоваться некоторая адаптация (подробности см. В Руководстве по миграции ESLINT). Перед подачей проблемы против расширения ESLINT VS ESLINT убедитесь, что вы можете успешно проверить свои файлы в терминале, используя команду Eslint.