Mã VS với es6


104

Tôi đang gặp lỗi in linting trong mã của mình 'import' is only available in ES6 (use 'esversion: 6').

Mọi thứ liên quan đến es6 đều gặp lỗi. Không chắc tôi phải cấu hình những gì để nó hoạt động.

Câu trả lời:


216

Thêm một tệp có tên .jshintrcvào dự án của bạn và bên trong tệp này, hãy nhập tệp này:

{
    "esversion": 6
}

Như bạn có thể thấy ở đây:

nhập mô tả hình ảnh ở đây

Tài liệu đầy đủ về các jshinttùy chọn được tìm thấy tại đây: http://jshint.com/docs/options


4
jshint.com/docs/options/#esversion dành cho những người đang tìm kiếm tài liệu.
Jeremy Larter

5
Điều này sẽ được thêm tự động.
Xaqron

có vẻ như vào những thời điểm bạn cần phải thêm dòng "MOZ" này: true
kinsley kajiva

6
Điều này không hoạt động với tôi (phiên bản vscode 1.37.1, OS X). Đi tới tùy chọn tiện ích mở rộng -> chọn Chỉnh sửa trong settings.json Để thêm JSON: "jshint.options": { "esversion": 6 } Đừng quên dấu phẩy ở dòng trước!
sijpkes

1
Nơi duy nhất để thêm điều này là trong ~/settings.jsonkinh nghiệm của tôi. Cài đặt cấp độ dự án sẽ không ảnh hưởng đến nó. Thật vô lý khi đây không phải là mặc định. Thực sự rất khó để tìm ra cách khắc phục điều này và trong khi đó, trải nghiệm người dùng với javascript trong VS Code là không tốt. Siêu khó chịu. Nó sẽ hỗ trợ ES6 + theo mặc định. Tại sao không?
rjurney

94

Chỉnh sửa: Tôi đã thêm một cách để kích hoạt es6 nếu bạn sử dụng ESLint thay vì JSHint cũng như cập nhật ảnh chụp màn hình vì VSCode đã thay đổi so với câu trả lời ban đầu của tôi.

Phương pháp JSHint:

Nếu bạn đang sử dụng JSHint, bạn có thể thêm phần sau vào cài đặt của mình:

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

Phương pháp ESLint:

Nếu bạn đang sử dụng ESLint, bạn có thể thêm phần sau vào cài đặt của mình:

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

Tài liệu cấu hình ESLint

Cách cập nhật cài đặt

  1. Trong VS Code, đi tới settings

Cài đặt mã VS

  1. Khi cài đặt hiển thị, bạn sẽ thấy các phần cài đặt:

Tab Cài đặt Người dùng và Không gian làm việc

Lưu ý rằng có hai phần nơi bạn có thể tùy chỉnh cài đặt của mình, Cài đặt người dùngCài đặt không gian làm việc

Cài đặt Người dùng Là nơi bạn nên áp dụng bất kỳ cài đặt chung nào bạn muốn cho bất kỳ dự án nào bạn sẽ làm việc.

Cài đặt không gian làm việc Là nơi bạn có thể thực hiện các thay đổi cài đặt chỉ nên áp dụng cho dự án hiện tại của bạn.

Trong trường hợp của tôi, vì tôi biết rằng chỉ một số dự án của tôi có thể sử dụng ES6, tôi cần phải có thông báo lỗi để cảnh báo nếu tôi đang sử dụng ES6 các dự án không phải ES6 của mình ... vì vậy tôi chỉ đặt điều này thành Cài đặt không gian làm việc của mình

Tuy nhiên, nếu bạn biết rằng bất kỳ thứ gì bạn viết mã trong VS Code sẽ là một dự án ES6, sau đó lưu một bước và thêm nó vào cài đặt người dùng của bạn .

  1. Nhấp vào Người dùng / Không gian làm việc tùy thuộc vào sở thích của bạn. Tìm kiếm JSHint hoặc ESLint (bất kỳ cách nào bạn sử dụng). Nhấp vào bất kỳ liên kết Chỉnh sửa trong settings.json nào , không quan trọng cái nào.

Chỉnh sửa trong settings.json

  1. Thêm các cài đặt thích hợp tùy thuộc vào việc bạn sử dụng JSHint hay ESLint:

JSHint

Thêm cài đặt JSHint

ESLint

Thêm cài đặt ESLint


6
Đây là một câu trả lời tuyệt vời và +1 để không phải tạo tệp bổ sung trong thư mục dự án ... Ảnh chụp màn hình cũng rất hữu ích, cảm ơn bạn rất nhiều!
twknab 19/02/18

Ngoài ra, điều này tốt hơn vì có thể được thực hiện tự động cho các dự án mới, thay vì tạo tệp mới hoặc chỉ được giữ trong một không gian làm việc duy nhất.
Jan Sila

2
Không hiệu quả với tôi vì một số lý do. Tôi đã thử nó trong cả cài đặt người dùng và không gian làm việc
LondonGuy

1
Cảm ơn bạn rất nhiều vì một lời giải thích chi tiết, nó thực sự rất hữu ích.
Ketan Ramteke

22

Bạn có thể thêm "esversion": 6vào jshint.options trong cài đặt người dùng.

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

4

Chỉ để làm tròn các đề xuất tuyệt vời đã được gửi, bạn cũng có thể đặt điều này trên cơ sở từng tệp bằng cách thêm dòng thoát này (và tương tự đối với các cài đặt jshint khác) vào đầu tệp của bạn.

// jshint esversion:6

Trên thực tế, bạn có thể thêm nó ở bất cứ đâu, nhưng nó chỉ ảnh hưởng đến mã tiếp theo, cho phép bạn bật và tắt cài đặt nếu bạn muốn làm điều gì đó kỳ lạ.


0

Đảm bảo rằng bạn thực hiện các cấu hình trên với json nhưng cũng xóa / tắt jshinttiện ích mở rộng cho không gian làm việc nếu bạn đang sử dụng eslintvà ngược lại.,


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.