如何使用TypeScript 1.6与Visual Studio代码来获得生成器的支持?
我一直在Visual Studio Code中定位ES6,但是当我尝试切换到TypeScript时,它会抛出如下错误:
生成器仅在定位ECMAScript 6时可用
但是我的tsconfig.json确实有ES6目标:
{ "compilerOptions": { "target": "ES6", "module": "amd", "sourceMap": true } }
所以我试了npm install -g typescript@1.6.0-beta
typescript@1.6.0-beta,但是看起来VSCode并不在意。
发电机目前不支持。
我怎样才能让TypeScript和生成器在VS Code中一起正常工作?
更新
将typescript.tsdk更改为1.6二进制文件似乎可以修复IntelliSense错误,但是这个tasks.json仍然会打印出error TS1220: Generators are only available when targeting ECMAScript 6 or higher.
:
"version": "0.1.0", "command": "/usr/local/lib/node_modules/typescript/bin/tsc", "showOutput": "silent", "windows": {"command": "tsc.exe"}, "isShellCommand": true, "args": ["app.ts"], "problemMatcher": "$tsc"
但是,在terminal中手动使用的/usr/local/lib/node_modules/typescript/bin/tsc --target ES6 app.ts
确实可行。
我现在知道了!
1.智能感知
您可以使用typescript.tsdk设置将VSCode指向TypeScript二进制文件。 将TypeScript升级到1.6,并正确设置位置。
您可以在用户/工作区设置中执行该操作,也可以在.vscode / settings.json文件中执行每个项目。 OS X示例:
"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib"
2.编译器
您还需要确保.vscode / tasks.json指向新的二进制文件,并使编译器以显式项目模式运行 ,即使用tsconfig.json而不是将文件列表作为参数进行编译。
{ "version": "0.1.0", "command": "/usr/local/lib/node_modules/typescript/bin/tsc", "showOutput": "silent", "windows": {"command": "tsc.exe"}, "isShellCommand": true, "args": [], //do not pass any files to the compiler. This way it will use tsconfig.json where you can set target: "ES6" "problemMatcher": "$tsc" }
最后是tsconfig.json (在项目的根目录下):
{ "compilerOptions": { "target": "ES6", //The key, of course. "module": "amd", "sourceMap": true }, "exclude": [ "node_modules", ".vscode" ] }
之后重新启动编辑器!
您可以在VS Code中更改您的用户设置,并将"typescript.tsdk"
设置为自定义位置。
如果你每晚安装( npm install -g typescript@next
),你可以指向那个版本的TypeScript的lib
文件夹。
更多
使用ts latest的原因和设置说明包括在这里: https : //basarat.gitbooks.io/typescript/content/docs/getting-started.html#typescript-version