VS Code dengan es6

106

Saya mendapatkan kesalahan linting dalam kode saya 'import' is only available in ES6 (use 'esversion: 6').

Segala sesuatu yang berhubungan dengan es6 membuat kesalahan. Tidak yakin apa yang harus saya konfigurasikan agar berfungsi.

erichardson30
sumber

Jawaban:

216

Tambahkan file bernama .jshintrcke proyek Anda dan di dalam file ini ketik ini:

{
    "esversion": 6
}

Seperti yang Anda lihat di sini:

masukkan deskripsi gambar di sini

Dokumentasi lengkap tentang jshintopsi dapat ditemukan di sini: http://jshint.com/docs/options

Nasreddine
sumber
4
jshint.com/docs/options/#esversion bagi mereka yang mencari dokumentasi.
Jeremy Larter
5
Ini harus ditambahkan secara otomatis.
Xaqron
sepertinya terkadang Anda perlu menambahkan baris ini "moz": true
kinsley kajiva
7
Ini tidak berhasil untuk saya (vscode versi 1.37.1, OS X). Buka preferensi ekstensi -> pilih Edit di settings.json Untuk menambahkan JSON: "jshint.options": { "esversion": 6 } Jangan lupa koma di baris sebelumnya!
sijpkes
1
Satu-satunya tempat untuk menambahkan ini adalah dalam ~/settings.jsonpengalaman saya. Pengaturan tingkat proyek tidak akan mempengaruhinya. Tidak masuk akal ini bukan default. Sangat sulit untuk mengetahui cara memperbaikinya dan sementara itu pengalaman pengguna dengan javascript di VS Code tidak bersahabat. Sangat menyebalkan. Ini harus mendukung ES6 + secara default. Kenapa tidak?
rjurney
96

Sunting: Saya telah menambahkan cara untuk mengaktifkan es6 jika Anda menggunakan ESLint daripada JSHint serta memperbarui tangkapan layar sejak VSCode telah berubah sejak jawaban asli saya.

Metode JSHint:

Jika Anda menggunakan JSHint, Anda dapat menambahkan yang berikut ini ke pengaturan Anda:

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

Metode ESLint:

Jika Anda menggunakan ESLint, Anda dapat menambahkan berikut ini ke pengaturan Anda:

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

Dokumentasi Konfigurasi ESLint

Bagaimana cara memperbarui pengaturan

  1. Di VS Code, buka settings

Pengaturan VS Code

  1. Saat pengaturan ditampilkan, Anda akan melihat bagian pengaturan:

Tab Pengaturan Pengguna dan Ruang Kerja

Perhatikan bahwa ada dua bagian di mana Anda dapat menyesuaikan pengaturan Anda, Pengaturan Pengguna dan Pengaturan Ruang Kerja

Pengaturan Pengguna Di sinilah Anda harus menerapkan pengaturan global yang Anda inginkan untuk proyek apa pun yang akan Anda kerjakan.

Workspace Settings Di mana Anda dapat membuat perubahan pengaturan yang seharusnya hanya diterapkan ke proyek Anda saat ini.

Dalam kasus saya, karena saya tahu bahwa hanya beberapa proyek saya yang dapat menggunakan ES6, saya perlu memiliki kesalahan yang mengisyaratkan untuk memperingatkan saya jika saya menggunakan ES6 proyek non-ES6 saya ... jadi saya mengatur ini hanya ke Pengaturan Ruang Kerja saya

Tetapi, jika Anda tahu bahwa apa pun yang Anda kodekan dalam VS Code akan menjadi ES6, proyek, simpan satu langkah, dan tambahkan ke pengaturan pengguna Anda .

  1. Klik pada User / Workspace tergantung pada preferensi Anda. Cari JSHint atau ESLint (mana saja yang Anda gunakan). Klik salah satu tautan Edit di settings.json , tidak masalah yang mana.

Edit di settings.json

  1. Tambahkan pengaturan terkait tergantung pada apakah Anda menggunakan JSHint atau ESLint:

JSHint

Menambahkan Pengaturan JSHint

ESLint

Menambahkan Setelan ESLint

Ian
sumber
6
Ini adalah jawaban yang bagus dan +1 karena tidak harus membuat file tambahan dalam direktori proyek ... Tangkapan layar juga sangat membantu, terima kasih banyak!
twknab
Ini juga lebih baik karena dapat dilakukan secara otomatis untuk proyek baru, daripada membuat file baru, atau hanya disimpan dalam satu ruang kerja.
Jan Sila
2
Tidak berhasil untuk saya karena beberapa alasan. Saya mencobanya di setelan pengguna dan ruang kerja
LondonGuy
1
Terima kasih banyak atas penjelasan detailnya, memang sangat membantu.
Ketan Ramteke
22

Anda dapat menambahkan "esversion": 6ke jshint.options di pengaturan pengguna.

{
  "jshint.options": {
    "esversion": 6
  }
}
UX Nomaan
sumber
4

Hanya untuk melengkapi saran luar biasa yang telah dikirimkan, Anda juga dapat mengatur ini berdasarkan file dengan menambahkan baris escaped ini (dan serupa untuk pengaturan jshint lainnya) ke bagian atas file Anda.

// jshint esversion:6

Sebenarnya Anda dapat menambahkannya di mana saja, tetapi itu hanya mempengaruhi kode berikutnya, memungkinkan Anda untuk mengaktifkan dan menonaktifkan pengaturan jika Anda sangat ingin melakukan sesuatu yang aneh.

David Woods
sumber
0

Pastikan, Anda melakukan konfigurasi di atas dengan json tetapi juga menghapus / menonaktifkan jshintekstensi untuk ruang kerja jika Anda menggunakan eslintdan sebaliknya.,

vam
sumber
-3

Nonaktifkan ekstensi jshint Anda seperti ini:

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

Mohammad Naderi
sumber