Eclipse: sprawdzanie poprawności JavaScript wyłączone. ale nadal generuje błędy?

83

Walidacja w Eclipse wychwytuje to, co uważa za „błędy” we frameworku, z którego korzystałem.

  • Project -> Properties -> Validation -> "Suspend all validators" nie działa.

  • Project -> Properties -> Javascript -> Validation -> Errors/Warnings -> [Unchecked] "Enable Javascript semantic validation" też nie działa.

  • Włączenie wspomnianego powyżej pola wyboru i ustawienie wszystkich problemów ze sprawdzaniem poprawności na „Ignoruj” również nie działa.

Za każdym razem, gdy zmienia się jedno z tych ustawień, wykonuje kompilację i natychmiastowo wszystkie „błędy” są wykrywane, a następnie uniemożliwiają wykonanie dobrze znanej kompilacji.

Stary McStopher
źródło
Która wersja Eclipse? Inline JS czy w .jspliku?
Matt Ball,
Eclipse 3.7.0 (Indigo) z zainstalowaną wtyczką Web Tools Platform. (Podobnie jak wtyczki dla Androida i PhoneGap). Są to pliki .js.
Old McStopher

Odpowiedzi:

194
  1. Kliknij prawym przyciskiem myszy swój projekt
  2. Wybierz Właściwości -> JavaScript -> Uwzględnij
  3. Wybierz kartę Źródło (wygląda podobnie do karty Źródło ścieżki budowania języka Java)
  4. Rozwiń folder źródłowy
  5. Wyróżnij wykluczony wzór
  6. Kliknij przycisk Edytuj
  7. Kliknij przycisk Dodaj obok pola Wzorce wykluczeń.
  8. Kliknij przycisk Przeglądaj i wybierz źródło JavaScript według nazwy.
11101101b
źródło
mam pytanie, za każdym razem, gdy uruchamiam maven-> aktualizuj projekt, muszę wyczyścić i ponownie zbudować projekt, czy w ogóle można tego uniknąć?
hetaoblog
3
Nie sądzę, aby ta odpowiedź była właściwa. Chcesz wyłączyć samą walidację, a nie wykluczać z niej źródeł.
Jaroslav Záruba
To nie zadziałało w moim projekcie. Być może działa jakiś inny kreator. Mam zdecydowanie niepoprawną linię kodu: return <div> Hello {this.props.name} </div>; Jednak ta linia jest poprawna, jsx. Tak, zamiast tego będzie używać rozszerzenia * .jsx w przyszłości, ale to ilustruje problem z konfiguracją Eclipse.
Josef.B
Co się stanie, jeśli określony folder (np. Bower_components) zawiera pliki Javascript, HTML i JSON? dodanie tego folderu do wykluczonego wzorca jest ważne tylko dla walidacji JS.
Bruno Bruzzano
32

W rzeczywistości musisz wyłączyć globalne ustawienia konstruktora, aby to zrobić:

Right Click Project => Build Path => Configure Build Path => Builders

Po prawej stronie upewnij się, że JavaScript Validatorjest odznaczona, jeśli nie, odznacz ją.

Następnie zapisz konfigurację i zrób czystą kompilację.

Ramesh Lingappa
źródło
3
Oczywiście to jest poprawna odpowiedź. Chcesz wyłączyć walidację JS, a nie wykluczać z niej zasobów.
Jaroslav Záruba
2
Gdy to zrobisz, kliknij projekt prawym przyciskiem myszy i wybierz opcję Sprawdź poprawność. Ale może być również konieczne usunięcie błędów z karty Problemy, kolejne czyszczenie / kompilacja nie będzie już przeprowadzać weryfikacji.
Jaroslav Záruba
Uważam, że ta odpowiedź jest przydatna w RSA, który nie ma opcji inlclude / exclude javascript.
Ravi,
Dzięki za tę odpowiedź. Z Luna 4.4:Project Properties => Builders
NBcrafts
Byłoby świetnie, gdyby nie to, że nie działa. Wyłączyłem Konstruktora Walidacji Javascript. W ustawieniach projektu Javascript umieściłem również regułę „wyklucz” jako „gwiazdkę ukośną gwiazdkę”. Zrestartowałem także Eclipse, wyczyściłem projekt i odmówiłem modlitwę. Poważnie, Eclipse to totalny śmieć, jeśli chodzi o walidację. Walidacja JSP SUCKS, a walidacja JS SUCKS. Zakończ rant.
KyleM
12

Jeśli chcesz całkowicie usunąć weryfikację JavaScript z projektu, możesz po prostu usunąć ją z pliku .project.

  • Otwórz plik .project swojego projektu w edytorze tekstu.
  • Usuń linię <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  • Odśwież swój projekt

Teraz, jeśli przejdziesz do właściwości projektu, zauważysz, że opcja JavaScript całkowicie zniknęła.

Michael Celey
źródło
5

Walidacja plików .js jest obsługiwana przez JavaScript Validator, ale jest to Builder , a nie coś, co jest podłączane do ogólnej struktury walidacji. Jeśli zmienisz preferencje dotyczące błędów / ostrzeżeń, wyniki powinny zostać wyświetlone w sekcji Wyczyść i zbuduj.

nitind
źródło
2

Zakładając, że wykonasz kroki określone w zaakceptowanej odpowiedzi tego wątku. Na przykład, aby wykluczyć rekurencyjnie wszystkie pliki .js z folderu dojo, dodaj dojo/**/*.js

venkata madugundu
źródło
2

Wypróbowałem wszystkie powyższe i żadne nie działało. To zadziałało dla mnie po zabawie z tym,

  1. Kliknij prawym przyciskiem myszy mały pasek boczny, na którym pojawiają się błędy.
  2. Kliknij preferencje.
  3. Usuń zaznaczenie opcji „Zgłaszaj problemy podczas pisania”.
  4. Kliknij zastosuj i OK.
sean le roy
źródło
1

Jeśli żaden z powyższych kroków ( odznaczenie, wykluczenie itp. ) Nie działa ... Po wyłączeniu walidatora ... usuń plik js i dodaj go z powrotem do Workspace.

Karthik
źródło
1

Uważam, że jest to spowodowane tym błędem w Eclipse Web Tools <3.5.2

Wydaje się również, że zwykle wpływa tylko na zminimalizowany JavaScript (jest wrażliwy na określone wzorce w deklaracjach funkcji - patrz link)

@Marek opisuje obejście w celu usunięcia błędów, jeśli używasz wersji Eclipse Web Tools, której dotyczy problem. Jednak lepszym rozwiązaniem może być aktualizacja do Eclipse> = 4.3 i użycie Eclipse Web Tools> = 3.5.2

jameh
źródło
0

Może się również zdarzyć, że to nie standardowa walidacja JS generuje błąd. Pewnego wieczoru byłem zdezorientowany przez około pół godziny, zdałem sobie sprawę, że to instalacja JSHint, której używałem, oznaczała błędy w moich zminimalizowanych bibliotekach js, a nie standardowa walidacja JavaScript.

Oczywiście JSHint ma również sposób na wykluczenie niektórych plików. A my faktycznie go konfigurujemy, działa w podobny sposób jak powyższe rozwiązania.

wombling - Chris Paine
źródło