2014-04-16 16 views
11

jslint può controllare il rientro eseguendo 'jslint --indent 4 test.js', ma non riesco a farlo funzionare in jshint. Lo faccio come segue.Come posso far funzionare le opzioni di indentazione jshint

  1. installare jshint attraverso "NPM installare jshint -g"
  2. modificare ~/.jshintrc, il mio jshintrc sembra
    {..., "indent":4, "white":false, ...}
  3. modifica file js test.js
     
    /jshint indent:4/ 
    var condition, doSth; 
    if (condition) 
    doSth(); // expected to be invalid 
    
  4. test.js run jshint , ma il controllo del rientro non funziona. I 2 spazi iniziati possono passare il controllo.

risposta

15

È un problema di versione. Io uso 2.5.0 mentre 2.4 funziona.

Date un'occhiata a https://github.com/jshint/jshint/releases/tag/2.5.0:

Abbiamo deciso di etichettarlo 2.5.0 perché, mentre è contrario compatibile ci sono alcuni cambiamenti importanti.

Sono state rimosse le opzioni seguenti: nomen, onevar, passfail, bianco, gcl, smarttabs, trailing. Inoltre, il rientro non è più fornisce avvisi sui livelli di indentazione. Puoi ancora usarlo per impostare la larghezza della tabulazione, ma verrà utilizzato solo per le posizioni dei caratteri negli altri avvertimenti . JSHint non commetterà errori se hai queste opzioni nella tua configurazione o nei tuoi file; semplicemente li ignorerà.

Grazie ai nostri contributori, abbiamo sistemato un sacco di bug nel nostro parser. Abbiamo anche migliorato il nostro supporto ES6 aggiungendo il supporto di base per i valori letterali del modello .

+4

Qualcuno capita di conoscere la giustificazione per la rimozione di tali opzioni? Erano molto utili per tenere sotto controllo gli stili. – leedm777

+6

@dave vedere [JSHint issue # 1358] (https://github.com/jshint/jshint/issues/1358#issuecomment-39587645) e [piani JSHint 3] (http://www.jshint.com/blog/ jshint-3-piani /). In breve, il creatore di JSHint, Anton Kovalyov, prevede di concentrarsi su altri aspetti dell'analisi del codice e ritiene che il controllo dello stile debba far parte di un altro strumento/componente aggiuntivo. Capisco la necessità di avere un focus sintetico. Ora la mia domanda è proprio quale sarà lo strumento. Alcuni commenti nel problema JSHint suggeriscono [JSCS] (https://github.com/mdevils/node-jscs). Ho intenzione di iniziare da lì. – absynce

Problemi correlati