Мне удалось запустить две программы lint с помощью блокнота ++ NppExec Плагин.
Плагин NppExec обычно устанавливается по умолчанию и находится в разделе плагинов -> NppExec. (Использование NppExec 0.3 RC1 и Notepad ++ 5.1+).
1) JSLint
сначала загрузите WSH-версию jslint с http://www.jslint.com.
Измените последнюю часть файла следующим образом:
(function() {
if(!JSLINT(WScript.StdIn.ReadAll(),{passfail:false})) {
var e;
for(var i in JSLINT.errors) {
e=JSLINT.errors[i];
WScript.StdOut.WriteLine('Lint at line '+(e.line+1)+' character '+(e.character+1)+': '+e.reason);
WScript.StdOut.WriteLine(' '+(e.evidence||'').replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"));
}
WScript.Quit(1);
}
}());
(предварительно измененная версия здесь)
Это заставляет JSLint выводить все ошибки, а не только первую.
Далее, NppExec в Notepad ++ не позволяет использовать StdIn, поэтому я написал командный файл для фактического выполнения команды.
Это также позволило мне добавить файл конфигурации, который вставляется перед всеми файлами javascript. Варианты можно увидеть здесь .
Пакетный файл выглядит так:
@copy /b "C:\Program Files\jslint\conf.txt"+%1 "C:\Program Files\jslint\lastoutput.txt" > temp.txt
@cscript /Nologo "C:\Program Files\jslint\jslint.js" < "C:\Program Files\jslint\lastoutput.txt"
Возможно, вам придется изменить пути в зависимости от того, куда вы положили файл jslint.js.
Файл conf.txt выглядит следующим образом:
/*jslint forin:true*/
Убедитесь, что в конце этой строки нет возвратной каретки. Если есть возвратная каретка, все строки будут отключены на одну.
Наконец, команда, которую я ввел в NppExec:
"C:\Program Files\jslint\jslint.bat" "$(FULL_CURRENT_PATH)"
2) Javascript Lint
Javascript lint - немного менее строгий синтаксический анализатор, и его было гораздо проще реализовать.
Сначала возьмите копию версии Windows с http://www.javascriptlint.com/download.htm и распакуйте ее.
Тогда команда NppExec:
"C:\Program Files\JavascriptLint\jsl.exe" -conf "C:\Program Files\JavascriptLint\jsl.default.conf" -process "$(FULL_CURRENT_PATH)"
(примечание: в большинстве инструкций для Javascript Lint сказано, что в конце команды добавляется «pauseatend», я обнаружил, что это вызвало проблемы в Notepad ++, поэтому я его отключил)
Надеюсь, это кому-нибудь поможет,
Cheers,
Энди.