2015-04-29 7 views
79

Edit 3: Начиная с версии 0.4.0, синтаксис ES6 может быть включен путем добавления jsconfig.json файл в папку проекта со следующим содержанием:Есть ли способ включить поддержку синтаксиса ES6/ES7 в vscode?

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

Edit 2: Вы можете vote для этой функции на пользователя голосом


есть ли способ, чтобы «включить» ES6/ES7 в Visual Studio кодекса?

screenshot

Edit 1

Пробовал @ suggestion- отменяют javascript.validate.target Sarvesh и перезапустить vscode. Не помогло.

+1

Не могли бы вы отнестись к этому как к вопросу, а не к редактированию по вашему вопросу? –

ответ

26

В настоящее время единственным способом использования функций ES6 и ES7 является использование Typescript.

С другой стороны, here вы можете видеть, что есть запрос функции для ES6 и ES7

+0

Обновление: Looks ES6 будет доступен с июля 2015 года - http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7752489-es6-es2015-support – ToddSmithSalter

+0

Доступно обновление: https://code.visualstudio.com/Updates/ –

+0

Кажется, очень хорошо. Тем не менее, в целом есть работа. – praetoriaen

43

Это довольно просто, в корне вашего проекта создать файл jsconfig.json и записать этот объект в нем:

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

wow Это помогло мне. Благодаря!! –

+0

Отлично работает, спасибо! Видимо, они включили это в vscode этим летом: http://blogs.msdn.com/b/vscode/archive/2015/07/06/vs-code-es6.aspx Так что ответ выше не подходит верно , – Tom

+8

добавить '' experimentalDecorators: true' для декораторов es7 –

1

в противном случае вы можете использовать ESLint, чтобы выделить ES7 ошибку (используя Бабель анализатор или другие): VSCode Linter ES6 ES7 Babel linter

4

Добавление к выше ответов ...

В соответствии с Документами В.С. кодекса ..

Убедитесь, что вы поместите jsconfig.json в корне вашего проекта JavaScript, а не только в корневом каталоге вашего рабочего пространства. Ниже представлен файл jsconfig.json, который определяет целевой объект JavaScript как ES6, а атрибут exclude исключает папку node_modules.

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

Вот пример с явным атрибутом файлов.

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

Атрибут files не может использоваться в сочетании с атрибутом exclude. Если оба они указаны, атрибут файлов имеет приоритет.

также попробовать отредактировать свойство «целевой» в tsconfig.json

{ 
    "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" 
    ] 
} 
+0

Что это значит: «в корне вашего проекта JavaScript, а не только в корне вашей рабочей области»? –

+0

Почему код не может просто забирать '.babelrc' и т. Д.? Почему все дублированные конфигурации? * Grumbl * –

0

В качестве альтернативы вы можете использовать Flow вместо машинопись, который намного проще в настройке и мигрирует в. Я написал небольшую статью на how to setup Flow with VS Code.

9

Это link помогло много. Добавление файла jsconfig.json в проект не помогло, или, скорее, это не лучшее решение. Перейдите в меню «Настройки»> «Настройки». В настройках.JSON файл добавить строку:

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

0

По состоянию на эту дату и в соответствии с ESLint документы на VSCode Marketplace, в том числе файл конфигурации .eslintrc в корне проекта позволяет ES6 пыление в расширение ESLint VSCode.

Мой .eslintrc конфигурационный файл выглядит следующим образом:

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

Я eslint установить через НПМ в node_modules и все, что я знаю, что с .eslintrc в корневой папке проекта ES6 пылеобразования работы и без него не делает.

Надеюсь, это поможет ...

 Смежные вопросы

  • Нет связанных вопросов^_^