2013-04-05 10 views
9

Ich benutze jshint mit der Einrückungsoption aktiviert und auf 4 gesetzt, und möchte es so für die meisten Dateien in der Codebasis behalten.JSHint Einrückungsprüfung nur für eine bestimmte Datei deaktivieren

In einer bestimmten Datei möchte ich diese Überprüfung jedoch deaktivieren.

Ich versuchte, den jshint Kommentar am Anfang hinzugefügt, aber das hat nicht funktioniert:

/* jshint indent: false */ 

Das ist schade, denn diese Syntax für andere Optionen funktioniert. Zum Beispiel kann ich die Camelcase Enforcing-Option mit den folgenden deaktivieren:

Wie kann ich das tun?

Einige Antworten deuten darauf hin, dass Einzug automatisch die weiße Option ermöglicht es, aber ich versuchte, die folgende und es entweder nicht funktioniert hat:

/* jshint white: false */ 
+0

Als ich auf ihrer Website damit herumspielte, zeigte es an, dass es eine kleine Ganzzahl für die Einzugseingabe erwartet. Also meine Vermutung ist, dass es keine Möglichkeit gibt, einen Standard zu überschreiben. Vielleicht möchten Sie ein Problem auf ihrer GitHub-Seite öffnen: https://github.com/jshint/jshint/issues –

+0

natürlich, wenn Sie nur eine andere spezifische Einrückung für diese Seite angeben möchten, können Sie dies immer direkt festlegen. Es scheint einfach keine Möglichkeit zu sein, es komplett zu ignorieren. Je nachdem, welches Plug-in/Befehlszeilentool Sie verwenden, können Sie JSHint auch dazu veranlassen, die Datei vollständig zu ignorieren oder auf eine andere Konfigurationsdatei für diese Datei zu verweisen. –

+0

Ja, das ist auch, was ich gesehen habe, jshint erwartet einen int nach dem Einzug. –

Antwort

2

Diese derzeit nicht möglich ist. JSHint bestätigt den Wert der indent Option wie folgt:

if (typeof val !== "number" || !isFinite(val) || val <= 0 || Math.floor(val) !== val) { 
    error("E032", nt, g[1].trim()); 
    return; 
} 

Wie Sie in den Kommentaren zu Ihrer Frage bemerkt haben, dies wird einen Fehler auslösen, wenn der Wert nicht eine ganze Zahl größer als 0 ist es nicht tatsächlich jedoch eine maximale Grenze für diese ganze Zahl.

Je nachdem, wie Sie JSHint ausführen, kann es möglich sein, die Standardkonfiguration für Dateien zu überschreiben, die sich nicht um Einzüge kümmern. Zum Beispiel mit den JSHint Grunt task können Sie dies tun:

grunt.initConfig({ 
    jshint: { 
     options: { 
      /* Don't set indent here */ 
     }, 
     uses_defaults: ["somefile.js"], 
     with_overrides: { 
      options: { 
       indent: 4 
      }, 
      files: { 
       src: ["someotherfile.js"] 
      } 
     } 
    } 
}); 

aktualisieren

Ich habe opened a pull request mit einer empfohlenen Fehlerbehebung für dieses Problem, so im Auge behalten, dass, und wir werden sehen, ob Diese Funktionalität möchte das JSHint-Team hinzufügen.

+0

Dies scheint jetzt behoben zu sein. –

+0

Ja, das ist ab JSHint 2.0.0 behoben. –

Verwandte Themen