6

Tôi đang cố gắng sử dụng Visual Studio Code để chỉnh sửa tệp trong dự án react starter kit. Dự án React sử dụng Babel cho việc xếp chồng và vì vậy nó chỉ có các tệp .js thay vì các tệp .ts. Tôi muốn VS Code cung cấp intellisense thích hợp cho các tệp này ... bao gồm từ khóa async/await mới.Visual Studio Code ES7/JS Intellisense

Cho đến nay tôi chỉ có thể làm việc hiệu quả nếu tôi đổi tên tệp mở rộng từ .js thành .ts, nhưng tôi không muốn chuyển đổi toàn bộ dự án cho phù hợp với lựa chọn công cụ cá nhân của mình.

Có cách nào để làm cho Mã VS xử lý .js tệp như thể chúng là .ts tệp ... đơn giản vì lợi ích của ES7 intellisense? Tôi đã phát hiện một số thread of discussion about this, nhưng tôi không chắc chắn các tùy chọn nào có sẵn ngay hôm nay. Tôi cũng đã cố gắng thêm một tập tin tsconfig.json trông như thế này:

{ 
    "compilerOptions": { 
    "target": "es6" //An "es7" option is not yet legal 
    }, 
    "filesGlob": [ 
    "./**/*.js", 
    "!./node_modules/**/*.js" 
    ] 
} 

Tôi hy vọng điều này sẽ đánh lừa nguyên cảo thành thừa nhận .js file, nhưng không có may mắn.

Cuối cùng tôi chỉ muốn có ES7 intellisense trong VS Code. Nếu có một cách hoàn toàn khác để đạt được điều này, điều đó cũng sẽ được hoan nghênh. Đối với vấn đề đó, nếu có một thay thế cho VS Mã cung cấp tương đương với intelliSense cho ES7 Javascript, tôi quan tâm để biết về điều đó quá.

+0

https://github.com/Microsoft/nodejstools/wiki/ES6-IntelliSense-Preview-in-NTVS -1.1 – epascarello

+0

@epascarello: Tuyệt! Có cách nào để kích hoạt điều này cho 'Visual Studio Code'? Hoặc là nó chỉ là một lựa chọn cho 'Visual Studio'? Ngoài ra, trong ngữ cảnh của 'Visual Studio', có vẻ như tôi cần tạo một tệp' .njsproj' hoặc '.jsproj' trước khi tôi có thể bắt đầu ... –

Trả lời

0

Visual Studio Mã

  • VSCode không hỗ trợ filesGlob. Đó là điều duy nhất của nguyên tử-ts vào lúc này.
  • Để sử dụng .js file bạn cần kích hoạt tính năng allowJs

Giải pháp

tsconfig.json:

{ 
    "compilerOptions": { 
    "target": "ES6", 
    "allowJs": true, 
    }, 
    exclude: ["node_modules"] 
} 

Lưu ý: Target es6 cung cấp cho bạn tất cả các tính năng mới nhất (bao gồm bất kỳ những ES7) http://json.schemastore.org/tsconfig

Các vấn đề liên quan