[visual-studio-code] vscode에서 ES6 / ES7 구문 지원을 켜는 방법이 있습니까?

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

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

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


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

스크린 샷

편집 1

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



답변

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

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


답변

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

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


답변

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

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


답변

위의 답변에 추가 중 …

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


답변

그렇지 않으면 ESLint를 사용하여 ES7 오류를 강조 표시 할 수 있습니다 (babel 파서 또는 기타 사용) : VSCode Linter ES6 ES7 Babel linter


답변

또는 설정 및 마이그레이션이 훨씬 쉬운 Typescript 대신 Flow를 사용할 수 있습니다. VS Code로 Flow를 설정하는 방법대한 작은 기사를 썼습니다 .


답변

이 날짜를 기준으로 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가 작동하고 그것 없이는 작동하지 않는다는 것을 알고 있습니다.

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