121 votes

VIM + JSLint ?

Je passe mes journées dans vim, et j'écris actuellement beaucoup de JavaScript. J'ai essayé de trouver un moyen d'intégrer JSLint ou quelque chose de similaire dans vim pour améliorer mon codage. Quelqu'un a-t-il réussi à faire quelque chose de ce genre ?

Editar:

J'ai essayé ça : Vérification de la syntaxe Javascript depuis Vim Malheureusement, le résultat est très grossier.

187voto

Ory Band Points 1909

La meilleure façon de procéder, selon moi, est la suivante :

  1. Installer Plugin Syntastic pour Vim - Le meilleur vérificateur syntaxique du moment pour de nombreux langages, et il s'intègre à la fonction de vérification de Vim. liste de localisation (== quickfix ).
  1. Choisissez l'une des deux options ci-dessous :

JSLint

  1. Installer jsl (l'exécutable de JSLint) en utilisant votre gestionnaire de paquets favori (celui d'Ubuntu apt-get Mac's domicile brew etc.).

Pilotage par la communauté jshint.com (mieux que JSLint)

  1. Installer node.js en utilisant votre gestionnaire de paquets préféré.
  2. Installer Gestionnaire de paquets Node : 'curl https://npmjs.org/install.sh | sh' EDIT : npm fait partie de node.js maintenant.
  3. Installer jshint globalement : 'npm install jshint -g'.
  4. Mettez votre jshint config dans votre $HOME répertoire : '~/.jshintrc'.
  5. Écraser Syntastique 's syntax_checkers/javascript.vim avec celui-ci - EDIT : PLUS NÉCESSAIRE AVEC LA DERNIÈRE VERSION DE SYNTASTIC.

Profitez-en ! :)

1 votes

Je suis en train de faire un essai. J'ai essayé de cloner Syntastic et d'utiliser la commande "rake install", puis j'ai remplacé le fichier javascrip.vim par le vôtre. Je n'arrive toujours pas à comprendre comment l'utiliser, :SyntasticEnable ne fait rien pour autant que je puisse voir. Je vais continuer à essayer cependant

2 votes

Ok, j'ai remarqué que Syntastic nécessite ballon_eval, qui n'est pas supporté par MacVim. Dommage.

0 votes

@Claes Mogren : Je suppose que quelqu'un devrait s'impliquer dans la Repo GitHub de Syntatic et ajouter des jshint afin de sauter l'étape où vous devez écraser les données de Syntastic. javascript.vim avec le nôtre, personnalisé.

34voto

f3lix Points 13634

Vous pouvez suivre les instructions de Service web JSLint + intégration VIM ou faire ce que j'ai fait :

Télécharger http://jslint.webvm.net/mylintrun.js y http://www.jslint.com/fulljslint.js et les mettre dans un répertoire de votre choix.

Ajoutez ensuite la ligne suivante au début de mylintrun.js :

var filename= arguments[0];

et changer la dernière ligne de code dans mylintrun.js ("print( ...)") en :

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

Cela permet à mylintrun.js de sortir une liste d'erreurs qui peut être utilisée avec la fenêtre VIM quickfix (:copen).

Maintenant, définissez ce qui suit dans le VIM :

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

où vous devez changer /my/path/to/js au chemin d'accès à SpiderMonkey et /my/path/to/mylintrun.js au chemin où vous avez placé les fichiers JS.

Maintenant, vous pouvez utiliser :faire dans le VIM et utiliser le quickfix fenêtre (:he quickfix-window) pour passer d'une erreur à l'autre.

0 votes

Pourquoi mettez-vous en mémoire le tampon et le passez comme argument à mylintrun ?

0 votes

@jamessan : le mylintrun.js script lit le fichier depuis stdin. C'est donc à ça que sert le chat. Pour la sortie d'erreur, mylintrun.js a aussi besoin du nom du fichier, donc il est donné comme argument. Vous pourriez modifier le script pour ouvrir le fichier pour la lecture au lieu de lire à partir de stdin (rendant le chat inutile). Mais je n'ai pas voulu m'embêter avec ça... et je crois qu'il y a un problème pour lire les fichiers si vous avez un moteur JavaScript compilé sans le FileObject.

0 votes

Quel est le "chemin d'accès à SpiderMonkey" sur votre ordinateur ? J'en ai plusieurs sur le mien.

17voto

Alex Kahn Points 436

Une autre option est jslint.vim de Jesse Hallet. Il est disponible sur GitHub et fonctionne avec ou sans la fenêtre QuickFix de Vim. C'est un plugin sympa !

1 votes

+1 pour cela. Il fonctionne très bien. Pratiquement téléchargeable sur vim.org/scripts/scripts.php?script_id=2729 . Attention, sous Windows, vous devrez installer Ruby.

3 votes

N'oubliez pas non plus de consulter JSHint, mentionné ci-dessous.

0 votes

Le projet n'est plus en cours de développement.

6voto

dsjbirch Points 984

J'ai été très heureux d'utiliser node-lint

sudo npm -g install jslint

Puis mettez ça quelque part dans votre .vim

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

Maintenant, un :make va exécuter jslint. Les erreurs apparaissent dans la fenêtre quickfix.

3voto

Shaun Dychko Points 379

Voici les instructions pour Mac OS mises à jour en novembre 2012. On suppose que vous avez Homebrew installé afin d'obtenir Node.js, et que vous avez déjà installé Syntastic pour Vim (j'utilise https://github.com/carlhuda/janus qui le fait automatiquement) :

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

Ajoutez ensuite '/usr/local/share/npm/bin' à votre PATH (probablement dans ~/.bashrc). Par exemple, ajoutez la ligne : export PATH="$PATH:/usr/local/share/npm/bin"

redémarrez votre terminal et vérifiez que

$ jshint

est exécutable depuis la ligne de commande. Syntastic découvrira jsHint automatiquement. Redémarrez MacVim et profitez-en !

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