Sublime Text - Как включить линтеры для проекта
Я сотрудничаю в нескольких проектах Javascript. Некоторые из них используют eslint, некоторые другие используют стандартные. Это проекты, поддерживаемые разными и не связанными командами, поэтому принуждать их использовать один и тот же линтер не вариант.
Я использую Sublime Text 3, и кажется, что когда я устанавливаю плагин SublimeLinter, а также SublimeLinter-contrib-standard и SublimeLinter-eslint, они оба становятся активными, поэтому неясно, когда в редакторе выделяется ошибка, которая генерируется линтером Это.
Чтобы добавить к путанице, SublimeLinter-contrib-standard предлагает параметр "форматировать при сохранении", который применяет стандартное форматирование при сохранении файла, например, удаляя все точки с запятой. Но этого не следует делать для проекта, который опирается на eslint и имеет другой набор правил для линтера, например, возможно, они используют точки с запятой.
Итак, как я могу настроить свою среду разработки так, чтобы она могла использовать все, что зависит от проекта?
Я пробовал:
- создание файла.sublime-project в корневом каталоге проекта с указанием @disable: true для линтеров, которые я не хочу быть активными, но это не оказало никакого влияния (см. http://www.sublimelinter.com/en/latest/settings.html)
- создание.sublimelinterrc с теми же параметрами, но без эффекта.
- отключение "форматировать при сохранении" для стандартного линтера позволяет избежать проблемы изменения файла, но линтер все еще активен и выделяет ошибки
- Я читал эту проблему GitHub для проекта SublimeLinter, где они закрыли его, но затем несколько человек сообщают, что он не работает для них
- Добавление файла в репозиторий не является проблемой, я могу зафиксировать.eslintrc,.sublime.project или любые другие файлы, которые помогают достичь этого. Как упоминалось ранее, я пробовал эти файлы безрезультатно.
Как можно включить разные линтеры для каждого проекта на одном языке (javascript)? Я предполагаю, что это должно быть очень распространенным вариантом использования, особенно для людей, сотрудничающих в различных проектах с открытым исходным кодом, которые могут придерживаться различных стандартов кодирования.
Я думаю о переходе на другой редактор, который обрабатывает это лучше. Может быть, https://code.visualstudio.com/? Если у кого-то есть комментарии об этом или других редакторах, обрабатывающих это лучше, я был бы также благодарен.
Спасибо!
1 ответ
Следуя документации, вы должны добавить настройки линтера в .sublime-project
файл вашего проекта. Если вы только что создали файл, попробуйте открыть как проект (или просто сохраните текущий проект и снова измените файл).
Например, чтобы изменить опцию "отключить", ваш файл должен выглядеть так:
{
"folders":
[
...
],
"settings":
{
"SublimeLinter.linters.eslint.disable": true
}
}
Помните:
В проекте могут быть изменены только настройки "линтеров".
Ой. Дополнительный балл:
(...) они оба становятся активными, поэтому неясно, когда ошибка выделена в редакторе, который сформировал линтер.
Что ж. Я использую phpcs и phpmd и могу проверить имя линта при наведении на точку ошибки:
Проверьте show_hover_line_report
а также show_hover_region_report
настройки для этого.
Ваш первый буллит на правильном пути. Хотя настройка "отключить", без @. Документация, на которую вы ссылаетесь, содержит правильную информацию, поэтому попробуйте еще раз, она должна работать,