- PVSM.RU - https://www.pvsm.ru -
UPD: по совету комментаторов, заменил jsl на более новый eslint
Заметил у себя на работе, что многие JS-разработчики до сих пор используют «голый» Sublime Text, матерясь и чертыхаясь после каждой пропущенной запятой, непарной скобочки или еще какой опечатки. Поэтому написал краткий гайд по исправлению этого недоразумения, которым с вами и делюсь. Итак:

Если у вас был установлен SublimeLinter-jsl, то его сначала нужно удалить с помощью Cmd-Shift-P → PackageControl: Remove Package и перезапустить Sublime.
Вам понадобится npm [1].
npm install -g eslint

Установите Tern for Sublime [4]. Это плагин для Sublime, осуществляющий интерфейс с Tern [5] — инструмент для «умного» автодополнения в JavaScript, основанный на выводе типов (type inference). Tern устанавливается вместе с плагином.
Возможно, потребуется вручную выполнить npm install в папке с установленным пакетом (для мака они лежат в ~/Library/Application Support/Sublime Text 3/Packages).
После установки обратите внимание на дополнительные опции конфигурации (включающие хинтинг аргументов функций, например), они задаются в меню Sublime Preferences → Package Settings → Tern → Settings — Default. По умолчанию они отключены из-за возможной нестабильной работы, но в моем случае проблем не было:
{
"tern_argument_hints": true,
"tern_output_style": "tooltip",
"tern_argument_completion": true
}
Затем создайте в корне проекта файл .tern-project. Структура его примерно следующая:
{
"libs": [
"browser",
"jquery",
"underscore"
],
"loadEagerly": [
"./some_folder/*.js"
]
}
В loadEagerly указываются файлы, которые нужно парсить (он понимает wildcards). К сожалению, если указать там все-все-все скрипты (в моём случае), то Tern зависает намертво. Поэтому будьте осторожнее с этим, включайте только то, что необходимо.
Массив libs задает список предопределенных библиотек, которые Tern понимает без необходимости их парсить — с помощью заранее сгенерированных/написанных вручную словарей типов. Вот тут можно почитать [6] про то, как это у него устроено. Библиотека browser означает набор встроенных API браузера.
Автор: alex_blank
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/114301
Ссылки в тексте:
[1] npm: https://nodejs.org/en/
[2] Установите eslint: https://github.com/roadhump/SublimeLinter-eslint#linter-installation
[3] https://packagecontrol.io/installation: https://packagecontrol.io/installation
[4] Tern for Sublime: https://github.com/ternjs/tern_for_sublime#installation
[5] Tern: http://ternjs.net
[6] Вот тут можно почитать: http://ternjs.net/doc/manual.html#typedef
[7] Источник: https://habrahabr.ru/post/278747/
Нажмите здесь для печати.