Visual Studio代码忽略打字稿版本设置

时间:2017-01-06 18:40:32

标签: typescript visual-studio-code

我无法让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

所以我可以看到它从哪里获得旧版本的打字稿,但我不明白为什么它没有使用“被覆盖”的版本。

我唯一的猜测是覆盖不适合构建。它只适用于知识分子等。 不过,我还需要一种方法来改变这种情况......

1 个答案:

答案 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

相关问题