Vscode'da ES6 / ES7 sözdizimi desteğini açmanın bir yolu var mı?


104

Düzenleme 3: 0.4.0 sürümünden başlayarak, ES6 sözdizimi jsconfig.json, proje klasörüne aşağıdaki içeriğe sahip bir dosya eklenerek açılabilir :

{
    "compilerOptions": {
        "target": "ES6"
    }
}

Düzenleme 2: Bu özelliğe kullanıcı sesiyle oy verebilirsiniz


Visual Studio Code'da ES6 / ES7'yi "açmanın" bir yolu var mı?

ekran görüntüsü

Düzenle 1

@ Sarvesh'in önerisi geçersiz javascript.validate.targetkılındı ​​ve vscode yeniden başlatıldı. Yardımcı olmadı.


3
Sorunuzu düzeltmek yerine yanıt olarak koyabilir misiniz?
— Jeroen Vannevel

Yanıtlar:


29

Şu anda, tek yol ES6 kullanmak ve ES7 kullanmaktır özellikleri typescript .

Öte yandan, burada ES6 ve ES7 için bir özellik talebi olduğunu görebilirsiniz.


1
Güncelleme: Looks ES6, Temmuz 2015'ten itibaren satışa sunulacak - visualstudio.uservoice.com/forums/293070-visual-studio-code/…
— ToddSmithSalter

Oldukça iyi görünüyor. Yine de genel olarak yapılması gereken işler var.
— mzdv

2
En son sürümü kullanıyorum 0.8.0Hala şişman ok fonksiyonları için boyama hatası görüyorum ... neden?
— vanthome

@vanthome es6 ile yazmak istediğiniz dosyalar dizisini belirtmeniz gerekir, bağlantıyı kontrol edin: code.visualstudio.com/Docs/languages/javascript
— TlonXP

@TionXP ile yaklaşımı mı kastediyorsunuz jsconfig.json? Bunu denemedim ama küresel olarak etkinleştirirsem bunun işe yaramasını bekliyorum. VSCode'a ES6'yı kullanmak istediğimi dosya bazında söylemek istemiyorum.
— vanthome

59

Oldukça kolaydır, projenizin kökünde bir jsconfig.json dosyası oluşturun ve bu nesneyi içine yazın:

{
    "compilerOptions": {
        "target": "ES6",
        "module": "commonjs"
    }
}

Harika çalışıyor, teşekkürler! Görünüşe göre bunu bu yaz vscode'a dahil etmişler: blogs.msdn.com/b/vscode/archive/2015/07/06/vs-code-es6.aspx Yani yukarıdaki cevap artık doğru değil.
— Tom

9
"experimentalDecorators": truees7 dekoratörleri için ekle
— Meirion Hughes

ES6 ithalatı ne olacak? Hata ayıklama / kırılma noktaları çalışacak mı? İle çalışmıyor gibi görünüyor "module": "es2015".
— arve0

Bu benim için çalışmıyor Bu adamlarda sorun var stackoverflow.com/questions/35110019/…
— jack blank

45

Bu bağlantı çok yardımcı oldu. Jsconfig.json dosyasını projeye eklemek çok yardımcı olmadı ya da en iyi çözüm değil. Dosya> tercihler> ayarlara gidin. Settings.json dosyasında şu satırı ekleyin:

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

5

Yukarıdaki cevaplara ekleniyor ...

Docs of VS Code'a göre ..

Jsconfig.json dosyasını yalnızca çalışma alanınızın köküne değil, JavaScript projenizin köküne yerleştirdiğinizden emin olun . Aşağıda, JavaScript hedefini ES6 olarak tanımlayan ve dışlama özniteliği node_modules klasörünü hariç tutan bir jsconfig.json dosyası bulunmaktadır.

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

Burada açık bir files özniteliğine sahip bir örnek verilmiştir.

{
    "compilerOptions": {
        "target": "ES6"
    },
    "files": [
        "src/app.js"
    ]
}

Files özniteliği dışlama özniteliğiyle birlikte kullanılamaz. Her ikisi de belirtilirse, files özniteliği öncelikli olur.

tsconfig.json içindeki "target" özelliğini düzenlemeyi de deneyin

{
  "compilerOptions": {
    "target": "es5",//es6
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

Bu ne anlama geliyor: "JavaScript projenizin kökünde ve sadece çalışma alanınızın kökünde değil"?
— Jared Christensen

Neden vs kodu alamıyor .babelrcvb. Neden tüm çoğaltılmış yapılandırma? grumbl
— Stijn de Witt



0

Bu tarihten itibaren ve VSCode Marketplace'teki ESLint belgelerine göre , projenin kökünde bir .eslintrc yapılandırma dosyası da dahil olmak üzere ESLint VSCode uzantısında ES6 linting'i etkinleştirir.

.Eslintrc yapılandırma dosyam şöyle görünüyor:

extends:
  - standard
parser: babel-eslint
rules:
  object-curly-spacing: [ error, always ]
  react/prop-types: off
  space-before-function-paren: off

Node_modules'de npm aracılığıyla eslint yükledim ve tek bildiğim ES6 linting proje kök klasöründeki .eslintrc ile çalışıyor ve onsuz çalışmıyor.

Bu yardımcı olur umarım...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.