VIM + JSLint?

Trascorrere le mie giornate in vim, attualmente sta scrivendo un sacco di JavaScript. Ho cercato di trovare un modo per integrare JSLint o qualcosa di simile in vim per migliorare la mia codifica. Qualcuno è riuscito a fare qualcosa di simile a questo?

Edit:

provato questo: Sintassi Di Javascript Di Controllo Da Vim, purtroppo l’uscita è molto grezzo.

 

6 Replies
  1. 34

    È possibile seguire il intructions da JSLint web-service + VIM integrazione o fare quello che ho fatto:

    Scaricare http://jslint.webvm.net/mylintrun.js e http://www.jslint.com/fulljslint.js
    e metterli in una directory di vostra scelta.

    Poi aggiungere la seguente riga all’inizio del mylintrun.js:

    var filename= arguments[0];

    e cambiare l’ultima riga di codice mylintrun.js (“la stampa( …)”) a:

     print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );

    Questo rende in mylintrun.js l’output di un elenco di errori che possono essere utilizzati con il VIM quickfix finestra (:copen).

    Ora impostare la seguente VIM:

    set makeprg=cat\ %\ \\\|\ /my/path/to/js\ /my/path/to/mylintrun.js\ %
    set errorformat=%f:%l:%c:%m

    dove si deve cambiare /my/path/to/js il percorso di SpiderMonkey e /my/path/to/mylintrun.js il percorso dove hai messo i file JS.

    Ora, è possibile utilizzare :fare in VIM e utilizzare il quickfix finestra (:egli quickfix-finestra) per saltare da errore ad errore.

    • Questo è esattamente quello che stavo cercando, grazie!
    • Perché catting il buffer e passando come argomento mylintrun?
    • il mylintrun.js script legge il file da stdin. Che cosa offre il catting è per. Per l’output di errore mylintrun.js deve anche il nome del file, quindi è un dato argomento. Si potrebbe modificare lo script per aprire il file per la lettura invece di leggere da stdin (facendo il gatto inutili). Ma non ho voglia di perdere tempo con questo… e credo che ci sia un problema di lettura di file se si dispone di un motore JavaScript compilato w/o la FileObject
    • cos’e ‘il percorso di SpiderMonkey’ sulla macchina – ho un paio di miei
    • Pensare Rhino funziona come SpiderMonkey?
    • Non riesco a mylintrun.js c’è un percorso alternativo. sembra essere morto
    • provare questo github.com/anatoliychakkaev/.vim/blob/master/mylintrun.js
    • Ho optato per un altro approccio che utilizza nodo verrà illustrato in una risposta
    • Ora c’è jslint.vim disponibile presso github.com/hallettj/jslint.vim. Anche se è in alpha, è abbastanza stabile per me.
    • Il link per mylintrun.js e fulljslint.js sono rotto che rende questa risposta meno utile perché si basa pesantemente su di loro. Per favore puoi aggiornare con l’utilizzo di url? Altrimenti ho bisogno di eliminare questa risposta che è una fregatura, perché sembra abbastanza buono e ha aiutato un sacco di gente. Grazie.

  2. 182

    Le best-practice modo IMO è:

    1. Installare Syntastic Vim plugin – Migliori sintassi-correttore intorno per un sacco di lingue, e in più si integra con Vim posizione-elenco (==quickfix) finestra.
    2. Scegliere una delle due opzioni riportate di seguito:

    JSLint

    1. Installare jsl (JSLint eseguibile) utilizzando il gestore di pacchetti preferito (Ubuntu apt-get, Mac home brew, etc.).

    Community-driven jshint.com (meglio di JSLint)

    1. Installare node.js utilizzando il gestore di pacchetti preferito.
    2. Installare Nodo Package Manager: ‘curl https://npmjs.org/install.sh | sh’ EDIT: npm È PARTE DI node.js ORA
    3. Installare jshint a livello globale: ‘npm install jshint -g’
    4. Mettere il vostro jshint config file nel vostro $HOME dir: ‘~/.jshintrc’
    5. Sovrascrivere Syntastic‘s syntax_checkers/javascript.vim file con questoEDIT: NON è PIÙ NECESSARIO CON la più RECENTE SYNTASTIC VERSIONE.

    Godere! 🙂

    • Mi sto dando a questo una prova proprio ora. Provato clonazione Syntastic e utilizzando il “rake installazione di” comando e quindi sostituito il javascrip.vim file con il vostro. Ancora non riesco a capire come usarlo :SyntasticEnable non fa nulla per quanto posso vedere. Continuerò a cercare però..
    • Ok, notato che Syntastic richiede ballon_eval, che non è supportato in MacVim. Troppo male..
    • Mogren: credo che qualcuno dovrebbe ottenere coinvolti nel Syntatic repo GitHub e aggiungere automatico jshint rilevazione, per saltare la fase in cui devi sovrascrivere Syntastic del javascript.vim con la nostra personalizzato.
    • Sono d’accordo, potrebbe provare a me stesso. 🙂
    • Provato ad aggiungere, la speranza (o una versione più carina di esso) viene tirato github.com/scrooloose/syntastic/pull/47
    • Mogren: Wow, che è stato veloce. Way to go man!!! 🙂 Ora, questo strumento è ancora più utile.
    • La mia patch è stato tirato da scrooloose ieri, così si potrebbe desiderare di aggiornare la risposta. (E vi prego di provare che funziona :-))
    • Appena trovato questo; ho seguito le istruzioni, e possibile verificare la Syntastic è installato, ma non accade nulla sul mio .js file… qualcuno Può spiegare come abilitare?
    • Sei il benvenuto a consultare la mia .file vimrc per aiutare. Ci sono più di una causa per questo non funzionerà sul tuo computer: github.com/oryband/dotvim/blob/master/vimrc
    • avete qualche consiglio sul debug di questa configurazione. Ho installato tutte queste cose, ma io non sono sicuro di ciò che è sbagliato o come usare.
    • Ho appena trascorso un lungo periodo di tempo cercando di capire perché nulla sembrava accadere… se hai tirato Ory .jshintrc essere consapevole che non c’è una virgola finale dopo “google” nel “predef” oggetto che causa jshint a non caricare e Syntastic per fallire in silenzio.
    • Eh, immagino che dovrei aggiornarlo. 🙂 Grazie per l’avviso. Suppongo che non può mai sottrarsi errori di battitura.
    • Appena modificato la risposta e aggiunto lo sviluppatore repository di aggiornamento esempio di configurazione. Hanno tirato da me inizialmente, ma hanno mantenuto l’aggiornamento di esso da allora. Enjoy!
    • jsl per Windows: javascriptlint.com/download.htm inoltre, guardare fuori in jsl.vim file per questo problema: vim.1045645.n5.nabble.com/…
    • Già avuto syntastic e nodo/npm installato, e questo funzionato al primo tentativo. Dovrebbe essere accettato risposta.

  3. 17

    Un’altra opzione è jslint.vim da Jesse Hallet. E ‘ disponibile su GitHub e funziona con o senza di Vim QuickFix finestra. E ‘ un bel plugin!

    • +1 per questo. Funziona alla grande. Comodamente scaricabile da vim.org/scripts/script.php?script_id=2729. Nota, su Windows è necessario installare Ruby.
    • Anche essere sicuri di controllare JSHint, indicata di seguito.
    • Questo è quello che io uso e funziona ottimamente
    • Il progetto non è più in sviluppo.
  4. 6

    Sono stato molto felice nodo-lint

    sudo npm -g install jslint

    Quindi un agguato da qualche parte nella vostra .vim

    set makeprg=jslint\ %
    set errorformat=%-P%f,
            \%E%>\ #%n\ %m,%Z%.%#Line\ %l\\,\ Pos\ %c,
            \%-G%f\ is\ OK.,%-Q

    Ora un :make verrà eseguito jslint. Gli errori vengono visualizzati nella quickfix finestra.

  5. 3

    Ecco il Mac OS istruzioni aggiornate per Novembre. 2012. Si presuppone Homebrew installati, al fine di ottenere Node.js e che hai già installato Syntastic per Vim (io uso https://github.com/carlhuda/janus che fornisce automaticamente):

    $ brew install node.js
    $ npm install -g jshint

    Quindi aggiungere ‘/usr/local/share/npm/bin’ per il tuo PERCORSO (probabilmente in ~/.bashrc). Ad esempio, aggiungere la riga:

    export PATH="$PATH:/usr/local/share/npm/bin"

    riavviare il Terminale e verificare che


    $ jshint

    è eseguibile da riga di comando. Syntastic scoprire jsHint automaticamente. Riavviare MacVim e godere!

Lascia un commento