我无法让Visual Studio Code更新它正在运行的打字稿版本。
我已经详细阅读了this question的答案。
我尝试将用户设置设置为:
{
"typescript.tsdk": "C:\\Users\\myUser\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib"
}
这没有帮助。
我还尝试将工作区设置设置为:
{
"typescript.tsdk": "./node_modules/typescript/lib"
}
这似乎也没有效果。
我配置了我的任务运行器来运行tasks.json并将其设置为以下内容:
{
"version": "0.1.0",
"command": "tsc",
"args": ["-v"],
"echoCommand": true
}
这将使用-v命令调用tsc(以输出版本)。
当我按ctrl + shift + B时,输出读取
运行命令> tsc -v
版本1.8.34
我还需要做些什么来让Visual Studio Code更新其Typescript版本吗?
注意:我访问了上面尝试过的两条路径,并在bin文件夹中执行了 tsc -v ,并且都返回了2.1.4
注意II:我尝试多次重启Visual Studio代码。
注意III:当我从 C:的命令提示符运行 tsc -v 时,它输出2.1.4
我正在运行Visual Studio Code 1.8.1
更新:
我将tasks.json更改为运行,其中tsc ,这是输出:
运行命令>其中tsc
C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 1.8 \ tsc.exe
C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 1.8 \ tsc.js
C:\ Users \用户MYUSER \应用程序数据\漫游\故宫\ TSC
C:\ Users \ myUser \ AppData \ Roaming \ npm \ tsc.cmd
所以我可以看到它从哪里获得旧版本的打字稿,但我不明白为什么它没有使用“被覆盖”的版本。
我唯一的猜测是覆盖不适合构建。它只适用于知识分子等。 不过,我还需要一种方法来改变这种情况......
答案 0 :(得分:3)
我在VSCode中处理TypeScript和JavaScript支持。
typescript.tsdk
设置VSCode for IntelliSense中使用的TypeScript版本。它不会影响用于运行任务的tsc
版本。任务使用与命令行相同的逻辑来解析tsc
。
要在任务中使用tsc
的本地副本,请将task.json
更改为:
{
"version": "0.1.0",
"command": "./node_modules/.bin/tsc",
"args": ["-v"],
"echoCommand": true
}
或者,在Windows上:
{
"version": "0.1.0",
"command": ".\\node_modules\\.bin\\tsc.cmd",
"args": ["-v"],
"echoCommand": true
}
希望有助于澄清事情。请let us know如果有任何想法可以使文档更清晰,或者您甚至可以submit a PR to improve the docs。