Używanie JSLint w Notatniku++

Widziałem inne edytory tekstu używające rozszerzeń do sprawdzania składni, takich jak JSLint , czy jest to możliwe z Notepad++?

Author: alumb, 2009-06-26

3 answers

Możesz wypróbować wtyczkę JSLint dla Notepad++:

Https://sourceforge.net/projects/jslintnpp/

 40
Author: mvladic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-02 17:00:18

Udało mi się uruchomić dwa programy lint przy użyciu wtyczki notepad++ NppExec.

Wtyczka NppExec jest zwykle instalowana domyślnie i można ją znaleźć w sekcji Wtyczki - > NppExec. (Używając NppExec 0.3 RC1 i Notepad++ 5.1+).

1) JSLint

Najpierw pobierz WSH wersję jslint z http://www.jslint.com .
Zmodyfikuj ostatnią część pliku w następujący sposób:

(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);
    }
}());

(Wersja wstępnie zmodyfikowana tutaj)
Powoduje to, że JSLint wypisuje wszystkie błędy, a nie tylko pierwszy.

Następnie NppExec Notepad++nie pozwala na użycie StdIn, więc napisałem plik wsadowy do wykonania polecenia.
To również pozwoliło mi dodać plik konfiguracyjny, który jest wstawiany przed wszystkimi plikami javascript. Opcje można zobaczyć tutaj . Plik wsadowy wygląda tak:

@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"

Może być konieczne zmodyfikowanie ścieżek w zależności od tego, gdzie umieścisz jslint.plik js. Na conf.plik TXT wygląda tak:

/*jslint forin:true*/

Upewnij się, że na końcu tej linii nie ma wagonu powrotnego. Jeśli istnieje przewóz powrotny, wszystkie linie zostaną odliczone o jeden.

Na koniec Komenda, którą wprowadziłem do NppExec to:

"C:\Program Files\jslint\jslint.bat" "$(FULL_CURRENT_PATH)" 


2) JavaScript Lint

Javascript lint jest nieco mniej ścisłym parserem i był znacznie łatwiejszy do zaimplementowania.

Najpierw pobierz kopię wersji windows z http://www.javascriptlint.com/download.htm i rozpakować. Następnie polecenie NppExec to:

"C:\Program Files\JavascriptLint\jsl.exe" -conf "C:\Program Files\JavascriptLint\jsl.default.conf" -process "$(FULL_CURRENT_PATH)"

(Uwaga: Większość instrukcji dla Javascript Lint powie, aby dodać "pauseatend" na końcu polecenia, znalazłem to spowodowało problemy w Notepad++, więc go zostawiłem)

Mam nadzieję, że to komuś pomoże,
Pozdrawiam,
Andy.

 43
Author: alumb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-16 03:37:11

Po zainstalowaniu pluginu należy przejść do:

Pluginy - > jslint - > opcje Jslinta

I zmienić "Choose JavaScript lint tool:" na JSHint .

JSHint daje dużo mniej bezsensownych "błędów".

 3
Author: SHEePYTaGGeRNeP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-19 12:40:05