JSLint in Geany benutzen – UPDATE

Im Bezug auf die Javascript-Programmierung möchte man den eigenen Code auch gerne auf Konventionen überprüfen. Um diese Funktionalität automatisch erledigen zu lassen, gibt es JSLint. Dieser Dienst kontrolliert den Javascript-Quellcode auf Probleme.

Durch das Buch Javascript-Patterns (Partnerlink) bin ich auf diesen Dienst aufmerksam geworden und habe ihn nun in Geany integriert. Somit kann ich mittels Tastenkombination eine Analyse meines Codes anstoßen und bekomme die Ausgaben in einem Teilfenster zu sehen.

Rhino installieren

Zuerst muss eine Javascript-Engine installiert werden. Ich habe Rhino von Mozilla benutzt:

apt-get install rhino

JSLint mit Rhino-Skript paaren

Die Bibliothek von JSLint muss nun für die Kommandozeile angepasst werden. Dafür lädt man sich die beiden Dateien runter:

Diese packt man zusammen in eine Datei:

cat jslint.js rhino.js > jslint_cmd.js

Die neu erstelle Datei habe ich dann in ein verstecktes Verzeichnis gepackt:

mv jslint_cmd.js ~/.config/

Geany konfigurieren

Jetzt muss nur noch Geany eingerichtet werden. Dafür wählt man Erstellen -> Kommandos zum Erstellen konfigurieren. In der ersten Zeile trägt man folgende Kommandos ein:

Name Befehl Verzeichnis
Lint js ~/.config/jslint_cmd.js %f %d

Wählt man jetzt Kompilieren oder die Taste F8, wird JSLint ausgeführt.

Ich habe mich bei der Anleitung bei verschiedenen Webseiten bedient:

Update – Ausgabe mit Quellcode verknüpfen

Auf Nachfrage von Basti habe ich das Skript von mikewest so umgeschrieben, dass die Fehlermeldungen von Geany erkannt werden. Durch Anklicken kommt mal in die richtige Zeile und die entsprechenden Code-Zeilen werden rot unterstrichen.

Die neue Skriptdatei findet man im Download-Bereich. Außerdem können in Zeile 6434 Optionen für JSLint gesetzt werden.

Getagged mit: , , ,
Veröffentlicht unter Linux, Programmierung
8 Kommentare auf “JSLint in Geany benutzen – UPDATE
  1. Sebastian sagt:

    Wird das dann im Code in Geany markiert? Wohl nicht, oder? Das wäre cool…

  2. georf sagt:

    Jetzt geht es doch. BÄHM

    • Sebastian sagt:

      Okay, jetzt ist es cool. Weißt du eigentlich, wie es sich mit JSLint und dem Google-Closure-Compiler verhält? Ist ein JSLint-valider Code fast oder sogar vollständig im Advanced-Modus minimierbar?

      • georf sagt:

        Ich weiß nicht genau. Müsste aber eigentlich. Ich habe auf jeden Fall schon Code im Advanced-Modus compiliert, der nicht JSLint-valide war.

        Für den Compiler sind ja vor allem globale Variablen ein Problem (Jquery $), die mit JSLint eliminiert werden.

  3. heinob sagt:

    Ich habe alles so gemacht, wie oben beschrieben, bekomme beim Ausführen (F8) aber eine Fehlermeldung:

    js ~/.config/jslint_cmd.js dbtools.js (im Verzeichnis: /src)
    /home/user/.config/jslint_cmd.js:6413
    input = readFile( fileToParse );
    ^
    ReferenceError: readFile is not defined
    at /home/user/.config/jslint_cmd.js:6413:13
    at Object. (/home/user/.config/jslint_cmd.js:6455:1)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Array.0 (module.js:484:10)
    at EventEmitter._tickCallback (node.js:190:38)
    Kompilierung fehlgeschlagen.

    Woran kann das liegen?

Hinterlasse eine Antwort