Edit: Jak zauważył w komentarzach, rzeczywisty problem został rozwiązany w tej kwestii jest rzeczywiście błąd w IntelliJ 15/WebStorm 11 (patrz https://youtrack.jetbrains.com/issue/WEB-18768). Pozostawiam odpowiedź poniżej, ponieważ wiele osób przychodzi tutaj, szukając dostarczonego rozwiązania.
Przyjęta odpowiedź to podejście do rozwiązania problemu. Lepszym rozwiązaniem jest włączenie biblioteki mocha-DefinitelyTyped dla katalogu testowego. Nie tylko usunie to błędną inspekcję, zapewni lepsze podświetlanie składni.
Z opisu inspekcji:
Przy użyciu bibliotek, które definiują swoje własne symbole globalne poza ich widocznego kodu JavaScript (np describe()
w Mocha), to Zaleca się, aby dodać odpowiedni typ maszynopis definicja plik jako biblioteka JavaScript w Preferencje | Języki & Konstrukcje szkieletowe | JavaScript | Biblioteki.
Przejdź do sekcji preferencji, o której mowa powyżej, "Preferencje | Języki & Konstrukcje szkieletowe | JavaScript | Biblioteki i sprawdź, czy biblioteka mocha-DefinitelyTyped znajduje się na liście.
Jeśli mokka-DefinitelyTyped nie ma na liście, kliknij przycisk Download…
, znaleźć 'mocha' w sekcji 'maszynopis Społeczność Stubs', zaznacz go i kliknij Pobierz i zainstaluj:
Biblioteka nazywa się po prostu "mocha" na liście, ale po zaimportowaniu zostanie przekształcona w "mocha-DefinitelyTyped".
Gdy już masz mocha-ZdecydowanieTypowe, odznacz pole Włączone. Pozostawienie go w pełni sprawdzonego umożliwiłoby to globalne, nawet poza testami, co byłoby niedokładne. Zamiast tego będziemy zarządzać jego zasięgiem tylko w twoim katalogu testowym. Kliknij przycisk Manage Scopes…
, znajdź swój katalog testowy, kliknij kolumnę Biblioteka i wybierz pozycję "mocha-DefinitelyTyped". Zobacz zrzut ekranu poniżej.
"Możesz wyłączyć tę inspekcję lub wyłączyć ją dla" opisz "," to "itd." - proszę o szczegóły. – arcseldon
https://www.jetbrains.com/phpstorm/help/disabling-and-illing-inspections.html - więc preferencje -> Edytor -> Inspekcje -> JavaScript -> Node.js -> Brakujące zapytanie require() To jak czy dodaję jakieś tłumienia, takie jak "opisz", "to" itp.? – arcseldon
Jedyny sposób, w jaki mogłem to wykonać, to z niestandardowym zakresem, w moim przypadku, wybieraniem folderu testowego i wyborem rekurencyjnie, a następnie kojarzenia tego zakresu z daną zasadą inspekcji (i wybierania całkowitego wyłączenia tej reguły dla tego zakresu). Nie znalazłem sposobu na sprytne dostosowanie samej reguły inspekcji, aby zignorować czarną listę przedmiotów, np. opisać, itp., które można uznać za globalne. Czy ktoś może zostawić komentarz tutaj, jeśli takie podejście istnieje (przy użyciu Webstorm 11.0.3) – arcseldon