Использование JSLint в Notepad ++ - PullRequest
31 голосов
/ 26 июня 2009

Я видел, как другие текстовые редакторы используют расширения для проверки синтаксиса, такие как JSLint , возможно ли это в Notepad ++?

Ответы [ 3 ]

43 голосов
/ 26 июня 2009

Мне удалось запустить две программы 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,
Энди.

40 голосов
/ 02 декабря 2010

Вы можете попробовать плагин JSLint для Notepad ++:

https://sourceforge.net/projects/jslintnpp/

3 голосов
/ 19 июня 2014

После того, как вы установили плагин, вы должны перейти на:

Плагины -> JSLint -> Параметры JSLint

и измените «Выберите инструмент JavaScript lint:» на JSHint .

JSHint дает много менее бессмысленных "ошибок".

...