편집 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가 작동하고 그것 없이는 작동하지 않는다는 것을 알고 있습니다.
도움이 되었기를 바랍니다…