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.