vscode에서 ES6 / ES7 구문 지원을 켜는 방법이 있습니까?


103

편집 3 : 버전 0.4.0부터 jsconfig.json다음 내용으로 프로젝트 폴더에 파일을 추가하여 ES6 구문을 켤 수 있습니다 .

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

편집 2 : 사용자 음성으로이 기능에 투표 할 수 있습니다.


Visual Studio Code에서 ES6 / ES7을 "켜는"방법이 있습니까?

스크린 샷

편집 1

@sarvesh의 제안을 시도 javascript.validate.target했습니다. vscode를 무시 하고 다시 시작했습니다. 도움이되지 않았습니다.


3
질문에 대한 편집보다는 답변으로 넣어 주시겠습니까?
Jeroen Vannevel 2015

답변:


28

현재 ES6 및 ES7 기능을 사용하는 유일한 방법은 Typescript 를 사용하는 것 입니다.

반면에, 여기 당신은 ES6 및 ES7에 대한 기능 요청이있는 것을 볼 수 있습니다


1
업데이트 : - ES6 2015 7월부터 사용할 수있을 것 같은데 visualstudio.uservoice.com/forums/293070-visual-studio-code/...
ToddSmithSalter

꽤 좋아 보인다. 그래도 일반적으로해야 할 일이 있습니다.
mzdv 2015

2
최신 버전을 사용하고 0.8.0있습니다. 여전히 뚱뚱한 화살표 기능에 오류 색상 표시가 나타납니다. 이유는 무엇입니까?
vanthome 2015 년

: 당신이 링크를 확인, 당신은 ES6와 쓰기를 원하는 파일의 배열을 표시 할 필요가 @vanthome code.visualstudio.com/Docs/languages/javascript
TlonXP

@TionXP 당신은 접근 방식을 의미 jsconfig.json합니까? 글쎄, 나는 그것을 시도하지 않았지만 전역 적으로 활성화하면 이것이 작동 할 것으로 기대합니다. ES6를 사용하고 싶다고 VSCode 파일별로 말하고 싶지 않습니다.
vanthome

58

프로젝트의 루트에서 jsconfig.json 파일을 만들고이 객체를 작성하는 것은 매우 쉽습니다.

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

감사합니다! 분명히 그들은 이번 여름에 vscode에 이것을 포함했습니다 : blogs.msdn.com/b/vscode/archive/2015/07/06/vs-code-es6.aspx 따라서 위의 대답은 더 이상 정확하지 않습니다.
Tom

9
추가 "experimentalDecorators": trueES7 데코레이터에 대한
Meirion 휴즈에게

ES6 수입은 어떻습니까? 디버깅 / 중단 점이 작동합니까? 에서 작동하지 않는 것 같습니다 "module": "es2015".
arve0

이것은 나를 위해 작동하지 않습니다. 나는이 사람들의 문제가 있습니다. stackoverflow.com/questions/35110019/…
jack blank

43

링크 는 많은 도움 이 되었습니다. 프로젝트에 jsconfig.json 파일을 추가하는 것은별로 도움이되지 않았거나 최선의 해결책이 아닙니다. 파일> 환경 설정> 설정으로 이동합니다. settings.json 파일에서 다음 행을 추가하십시오.

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

5

위의 답변에 추가 중 ...

VS 코드 문서에 따라 ..

jsconfig.json을 작업 공간의 루트가 아닌 JavaScript 프로젝트 의 루트 에 배치했는지 확인하십시오 . 아래는 JavaScript 대상을 ES6으로 정의하고 exclude 속성이 node_modules 폴더를 제외하는 jsconfig.json 파일입니다.

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

다음은 명시 적 파일 속성이있는 예입니다.

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

files 속성은 exclude 속성과 함께 사용할 수 없습니다. 둘 다 지정하면 files 속성이 우선합니다.

또한 tsconfig.json에서 "target"속성을 편집 해보십시오.

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

이것이 의미하는 바는 "작업 공간의 루트가 아니라 JavaScript 프로젝트의 루트"입니까?
자레드 크리스텐슨

왜 대 코드가 그냥 픽업 할 수 .babelrc없습니까? 왜 모든 복제 된 구성입니까? grumbl
Stijn de Witt



0

이 날짜를 기준으로 VSCode Marketplace 의 ESLint 문서에 따르면 프로젝트 루트에있는 .eslintrc 구성 파일을 포함하여 ESLint VSCode 확장에서 ES6 linting을 사용할 수 있습니다.

내 .eslintrc 구성 파일은 다음과 같습니다.

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

나는 node_modules에서 npm을 통해 eslint를 설치했으며 프로젝트 루트 폴더 ES6 linting의 .eslintrc가 작동하고 그것 없이는 작동하지 않는다는 것을 알고 있습니다.

도움이 되었기를 바랍니다...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.