web-dev-qa-db-fra.com

Un outil pour résoudre automatiquement les problèmes simples de JSLint?

J'ai lancé JSLint pour la première fois sur un fichier assez volumineux et j'ai beaucoup d'erreurs comme expected exactly 1 space between "function" and "(" ou unexpected ' '. Je ne savais pas que c'était important du tout où j'apprenais le javascript et maintenant, réparer chacune de ces choses assez simples à la main semble frustrant. Je peux en trouver quelques-uns avec une simple recherche et des remplacements, mais je me suis demandé s'il existait des outils en ligne qui apporteraient automatiquement ces modifications, car elles semblent assez simples.

(J'ai /*jslint white: false */ dans mon fichier, je développe dans Netbeans et au format automatique (sauf que je dois corriger les chaînages jQuery suspendus car il ne le fait pas correctement), et mon code se termine toujours avec un nombre énorme jslint se plaint autant que de nombres d'espaces inattendus.)

31
Damon

Damon, Prettier va probablement faire tout ce que vous voulez au formatage de code javascript sans douleur. Il convertira votre code en AST, puis le réimprimera dans votre fichier afin de le formater automatiquement au fur et à mesure. Vous pouvez même l'ajouter en tant que hook préengagé ou l'exécuter sur un dossier plein de fichiers (assez rapidement aussi!) Pour que votre base de code entière soit immédiatement jolie.

Voici une vidéo de ReactConf qui l'explique assez bien

0
Damon

Bien qu'il vérifie différentes choses que JSLint, le mode fixjsstyle de la fermeture Google linter peut faire ce que vous voulez.

Il corrige automatiquement le code pour (plus étroitement) correspondre au guide de style Google Javascript , qui vaut bien une lecture.

Comme d'autres l'ont souligné, l'embellisseur Javascript est la solution idéale pour les problèmes d'espacement.

17
Timothy Jones

Il existe un module npm appelé fixmyjs .

En "mode hérité" avec JSHint:

var jshint = require('jshint').JSHINT
    var fixmyjs = require('fixmyjs')
    jshint(stringOfCode, objectOfOptions)
    var stringFixedCode = fixmyjs(jshint.data(), stringOfCode, objectOfOptions).run()

Fonctionne très bien!

Il existe également un paquet Sublime Text 2/3 Package .

11
timelf123

http://jsbeautifier.org/ devrait résoudre tous vos problèmes

6
albert

jsfmt formate javascript et permet AST de rechercher et de réécrire. Analogue à gofmt.

Dans certains ide comme Netbeans, vous pouvez automatiquement formater le code avec alt+shift+f

Il en existe aussi en ligne. http://jsbeautifier.org/

4
Ilia Choly

Utilisez simplement IDE qui prend en charge le formatage de code personnalisé. Comme NetBeans, WebStorm ou Visual Studio.

3
c69

Si vous utilisez/have Visual Studio, le formatage de JavaScript est également effectué. Vous devrez peut-être configurer les options de formatage à partir des valeurs par défaut.

2
Alexei Levenkov

Il existe de nombreux outils pour faire des choses comme celle-ci. J'utilise JS Beautifier qui corrigera au moins les erreurs d'indentation ainsi que la partie spaces-around-functions (je l'ai testé, yay!)

2
goto-bus-stop