Kod VS z es6

106

W moim kodzie pojawia się błąd lintingu 'import' is only available in ES6 (use 'esversion: 6').

Wszystko, co jest związane z es6, generuje błąd. Nie jestem pewien, co muszę skonfigurować, aby to działało.

erichardson30
źródło

Odpowiedzi:

216

Dodaj plik o nazwie .jshintrcdo swojego projektu i wewnątrz tego pliku wpisz:

{
    "esversion": 6
}

Jak widać tutaj:

wprowadź opis obrazu tutaj

Pełną dokumentację jshintopcji można znaleźć tutaj: http://jshint.com/docs/options

Nasreddine
źródło
4
jshint.com/docs/options/#esversion dla osób poszukujących dokumentacji.
Jeremy Larter
5
Powinno to zostać dodane automatycznie.
Xaqron
Wygląda na to, że czasami musisz dodać tę linię "moz": true
kinsley kajiva
7
To nie zadziałało dla mnie (wersja vscode 1.37.1, OS X). Przejdź do preferencji rozszerzenia -> wybierz Edytuj w settings.json Do dodania JSON: "jshint.options": { "esversion": 6 } Nie zapomnij przecinka w poprzednim wierszu!
sijpkes
1
Z ~/settings.jsonmojego doświadczenia wynika, że ​​jedyne miejsce, w którym można to dodać . Ustawienia na poziomie projektu nie mają na to wpływu. To absurd, to nie jest domyślne. Naprawdę trudno jest dowiedzieć się, jak to naprawić, a tymczasem wrażenia użytkownika z JavaScriptem w VS Code są wrogie. Super irytujące. Powinien domyślnie obsługiwać ES6 +. Dlaczego by tego nie zrobił?
rjurney
96

Edycja: Dodałem sposób, aby włączyć es6, jeśli używasz ESLint zamiast JSHint, a także aktualizować zrzuty ekranu, ponieważ VSCode zmienił się od czasu mojej oryginalnej odpowiedzi.

Metoda JSHint:

Jeśli używasz JSHint, możesz dodać do swoich ustawień:

"jshint.options":{
    "esversion":6
}

Metoda ESLint:

Jeśli używasz ESLint, możesz dodać następujące ustawienia do swoich ustawień:

"eslint.options": {
    "env":{
        "es6":true
    },
    "parserOptions": {
        "ecmaVersion": 6 // or 7,8,9
    }
}

Dokumentacja konfiguracji ESLint

Jak zaktualizować ustawienia

  1. W VS Code przejdź do settings

Ustawienia VS Code

  1. Po wyświetleniu ustawień zobaczysz sekcje ustawień:

Karty ustawień użytkownika i obszaru roboczego

Zwróć uwagę, że istnieją dwie sekcje, w których możesz dostosować swoje ustawienia, Ustawienia użytkownika i Ustawienia obszaru roboczego

Ustawienia użytkownika To miejsce, w którym powinieneś zastosować dowolne ustawienia globalne, które chcesz, dla każdego projektu, nad którym będziesz kiedykolwiek pracować.

Ustawienia obszaru roboczego To miejsce, w którym możesz dokonać zmian ustawień, które powinny być zastosowane tylko do bieżącego projektu.

W moim przypadku, ponieważ wiem, że tylko niektóre z moich projektów mogą korzystać z ES6, muszę mieć wskazówkę o błędzie, aby ostrzec mnie, jeśli używam ES6 moich projektów innych niż ES6 ... więc ustawiam to tylko na moje ustawienia obszaru roboczego

Jeśli jednak wiesz, że wszystko, co kodujesz w VS Code, będzie projektem ES6, zapisz krok i dodaj go do ustawień użytkownika .

  1. Kliknij opcję Użytkownik / Obszar roboczy w zależności od preferencji. Wyszukaj JSHint lub ESLint (cokolwiek używasz). Kliknij dowolny link Edytuj w settings.json , nie ma znaczenia, który z nich.

Edytuj w settings.json

  1. Dodaj odpowiednie ustawienia w zależności od tego, czy używasz JSHint, czy ESLint:

JSHint

Dodawanie ustawienia JSHint

ESLint

Dodawanie ustawienia ESLint

Ian
źródło
6
To była świetna odpowiedź i +1 za brak konieczności tworzenia dodatkowego pliku w katalogach projektu ... Zrzuty ekranu również bardzo pomocne, bardzo dziękuję!
twknab
Jest to również lepsze, ponieważ można to zrobić automatycznie dla nowych projektów, zamiast tworzyć nowe pliki lub po prostu przechowywać je w jednym obszarze roboczym.
Jan Sila
2
Z jakiegoś powodu nie działa na mnie. Wypróbowałem to zarówno w ustawieniach użytkownika, jak i przestrzeni roboczej
LondonGuy,
1
Dziękuję bardzo za szczegółowe wyjaśnienie, było to naprawdę bardzo pomocne.
Ketan Ramteke
22

Możesz dodać "esversion": 6do jshint.options w ustawieniach użytkownika.

{
  "jshint.options": {
    "esversion": 6
  }
}
UX Nomaan
źródło
4

Aby uzupełnić doskonałe sugestie, które zostały już przesłane, możesz również ustawić to na podstawie pliku po pliku, dodając tę ​​linię ze znakami ucieczki (i podobną do innych ustawień jshint) na początku pliku.

// jshint esversion:6

Właściwie możesz go dodać w dowolnym miejscu, ale wpływa to tylko na kolejny kod, umożliwiając włączanie i wyłączanie ustawień, jeśli desperacko chcesz zrobić coś dziwnego.

David Woods
źródło
0

Upewnij się, że wykonujesz powyższe konfiguracje za pomocą json, ale także usuwasz / wyłączasz jshintrozszerzenie dla obszaru roboczego, jeśli używasz eslinti odwrotnie.,

vam
źródło
-3

Wyłącz rozszerzenie jshint w ten sposób:

https://i.stack.imgur.com/mYnM2.png

Mohammad Naderi
źródło