44 votes

Comment configurer Syntastic avec JSHint?

Comment utiliser le Syntastic plugin Vim avec JSHint pour valider le code JavaScript?

Environnement:

  • Ubuntu 11.04
  • VIM - Vi improved 7.3

Ce que j'ai installé, à la suite de la solution à VIM + JSLint?:

  • Vundle
  • node.js
  • Node Package Manager
  • jshint, à l'échelle mondiale
  • Syntastic installé par Vundle (Utilisé l' :BundleInstall de commande à l'intérieur de Vim pour s'assurer Syntastic a été installé.)

.vimrc:

set nocompatible               " be iMproved
filetype off                   " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" let Vundle manage Vundle
" required! 
Bundle 'gmarik/vundle'

" My Bundles here:
Bundle 'scrooloose/syntastic'

filetype plugin indent on     " required! 

let g:syntastic_enable_signs=1
let g:syntastic_auto_jump=1
let g:syntastic_stl_format = '[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]'

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

vous cherchez installé exécutables:

$ which gjslint
$ which jslint
$ which jsl
$ which jshint
/home/fernando/local/node/bin/jshint
$ 

$ echo $PATH

/home/fernando/local/bin:/home/fernando/local/node/bin:/home/fernando/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

$ jshint test.js

test.js: line 3, col 1, 'blbla' is not defined.
test.js: line 4, col 1, 'x' is not defined.
test.js: line 4, col 5, 'nonono' is not defined.
test.js: line 6, col 1, 'a' is not defined.
test.js: line 7, col 1, 'b' is not defined.
test.js: line 8, col 5, 'a' is not defined.
test.js: line 8, col 10, 'b' is not defined.
test.js: line 8, col 7, Expected '===' and instead saw '=='.

8 errors

$ vi test.js -pas de message d'erreur affiché

:SyntasticEnable -- Vim sorties et redémarre, d'ouvrir le même fichier, mais pas encore de message

:w -- pas encore de message d'erreur

:Erreurs -- l'emplacement de la liste s'ouvre, mais il est vide

Les deux jshint et Syntastic semblent être installé, mais quelque chose qui est probablement manquant. Quel serait-il?

68voto

alfonsodev Points 996

Voici une information plus mise à jour, il y a une configuration pour associer une extension de fichier à un vérificateur,
dans votre .vimrc
let g:syntastic_javascript_checkers = ['jshint']

Également pour obtenir des informations sur ce qui se passe, exécutez cette commande dans vim
:SyntasticInfo

Et vous obtiendrez une sortie similaire à celle-ci:

Syntastic info for filetype: javascript

6voto

Ricky Mondello Points 51

Je viens d'avoir ce même problème. En fin de compte, Syntastic recherche jsl (JSLint) avant de rechercher jshint. Si vous avez les deux installés, vous serez probablement induit en erreur. J'ai déplacé jsl quelque part pas dans mon chemin, et jshint a été détecté très bien.

La source:
https://github.com/scrooloose/syntastic/pull/47

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X