2013-04-05 7 views
9

Używam jshint z włączoną opcją wymuszenia i ustawioną na 4, i chciałbym zachować ją w ten sposób dla większości plików w bazie kodu.Wyłączanie sprawdzania wcięcia JSHint tylko dla określonego pliku

W jednym konkretnym pliku chciałbym wyłączyć tę kontrolę.

Próbowałem dodając komentarz jshint na górze, ale to nie działa:

/* jshint indent: false */ 

To jest źle, ponieważ ta składnia prac na rzecz innych opcji. Na przykład mogę wyłączyć opcję wymuszenia na camelcase w następujący sposób:

/* jshint camelcase: false */ 

Jak mogę to zrobić?

Niektóre odpowiedzi sugerują, że tiret automatycznie włącza biały opcję, ale próbowałem następujące i to nie działa albo:

/* jshint white: false */ 
+0

Kiedy bawiłem się na nim na swojej stronie, wskazał on, że spodziewa się małej liczby całkowitej. Domyślam się, że nie ma sposobu na zastąpienie domyślnego. Możesz otworzyć problem na swojej stronie github: https://github.com/jshint/jshint/issues –

+0

, oczywiście jeśli chcesz tylko określić inne wcięcie dla tej strony, możesz to zawsze ustawić bezpośrednio. Po prostu nie wydaje się, żeby to całkowicie zignorować. Zależnie od używanego narzędzia wiersza poleceń/wiersza poleceń, możesz także umożliwić JSHint całkowite zignorowanie pliku lub odwołanie do innego pliku konfiguracyjnego dla tego pliku. –

+0

Tak, to także to, co widziałem, jshint spodziewał się int po wcięciu. –

Odpowiedz

2

ten nie jest obecnie możliwe. JSHint sprawdza wartość opcji indent następująco:

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

Jak zauważyłem w komentarzach do Twojego pytania, to będzie podnieść błąd, jeśli wartość nie jest liczbą całkowitą większą niż 0. To nie w rzeczywistości jednak maksymalny limit tej liczby całkowitej.

W zależności od sposobu działania JSHint może być możliwe zastąpienie domyślnej konfiguracji plików, które nie dbają o wcięcia. Na przykład, z JSHint Grunt task można to zrobić:

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

Aktualizacja

mam opened a pull request w sugerowanej rozwiązującej ten problem, więc miej oko na to i zobaczymy, czy ta funkcja jest czymś, co zespół JSHint chce dodać.

+0

To wydaje się być teraz naprawione. –

+0

Tak, jest to poprawione od JSHint 2.0.0. –

Powiązane problemy