Visual Studio Code使用什么TypeScript版本?如何更新?

Ric*_*uhr 86 typescript visual-studio-code

如何判断Visual Studio代码中使用的TypeScript版本?特别是,我一直在使用TypeScript 1.8.10和VSCode 1.4.0.我首先将VSCode更新到最新版本,即1.5.3.但是从命令行检查,我看到我的TypeScript版本仍然是1.8.10.所以我从命令行更新了TypeScript,它现在是2.0.3.

有没有办法确定Visual Studio Code是否使用版本2.0.3?

是否有更新Visual Studio代码的方法会自动将TypeScript更新为最新发布的版本,还是必须单独完成TypeScript更新?

Fab*_*uer 158

来自https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions:

VS Code附带了最新的TypeScript稳定版本.

这意味着无法自动升级VS Code使用的TypeScript版本.但是,您可以通过修改用户设置或工作区设置来覆盖VS Code使用的TypeScript版本.

VS Code使用什么TS版本?

当您打开TypeScript文件时,VS Code应在屏幕右下方的状态栏中显示TypeScript版本:

VS Code状态栏TypeScript版本

更改全局TypeScript版本

  1. 例如,全局安装所需的TypeScript版本 npm install -g typescript@2.0.5
  2. 打开VS代码用户设置(F1> Open User Settings)
  3. 更新/插入"typescript.tsdk": "{your_global_npm_path}/typescript/lib"您可以通过键入npm root -g找到{your_global_npm_path}

现在,使用VS Code打开的所有项目都将使用此TypeScript版本,除非当然有一个工作空间设置会覆盖它.

更改本地TypeScript版本

  1. 在VS Code中打开项目
  2. 例如,在本地安装所需的TypeScript版本 npm install --save-dev typescript@2.0.5
  3. 打开VS代码工作区设置(F1> --save-dev)
  4. 更新/插入 package.json

现在,只有您安装此TypeScript版本的项目才会使用该TypeScript版本,此项目中的VS Code将忽略全局安装.

注:devDependency将更新您的项目Open Workspace Settings,将您加入安装了打字稿版本"typescript.tsdk": "./node_modules/typescript/lib".

  • 仅供参考我在Windows上,我不得不把完整路径到我的全球节点模块文件夹 - 'C:\\ \\用户\\ MYNAME AppData的\\ \\漫游故宫\\ \\node_modules打字稿\\ lib` .你可以在命令行中用`npm root -g`仔细检查你的.否则,这应该被标记为答案@Richard Fuhr (3认同)
  • @BentOnCoding这不会禁用任何内容.检查`tsdk`路径中的拼写错误,并确保在您的仓库中安装了TypeScript.此外,其他11人发现这个正确到upvote ;-) (3认同)
  • 此设置可以应用于工作区设置,以便专门针对特定版本的项目可以配置为保持这种状态。另外,***注意***您不能定位 MSI 安装的版本,它们不兼容。请参阅网站:https://code.visualstudio.com/docs/typescript/typescript-compiling (2认同)

DAX*_*lic 17

Visual Studio Code附带了自己的TypeScript稳定版本,但您可以按照其文档中的说明切换到更新版本

VS Code附带了最新的TypeScript稳定版本.如果你想使用打字稿的新版本,你可以定义 typescript.tsdk设置(文件 > 首选项 > 用户/工作区设置)指向包含打字稿目录tsserver.js文件.
......
例如:

{
   "typescript.tsdk": "node_modules/typescript/lib"
}
Run Code Online (Sandbox Code Playgroud)


gom*_*sha 15

有没有办法确定Visual Studio Code是否使用版本2.0.3?

在Visual Studio Code中打开TypeScript文件,在右下角,您将看到它正在使用的TypeScript版本:

在此输入图像描述

是否有更新Visual Studio代码的方法会自动将TypeScript更新为最新发布的版本,还是必须单独完成TypeScript更新?

我一直这样做的方法是明确告诉Visual Studio Code安装TypeScript npm模块的文件夹.我在Windows上,所以运行npm命令安装TypeScript(npm install -g typescript)之后,它会将它安装在这个文件夹中:

C:\Users\username\AppData\Roaming\npm\node_modules\typescript\
Run Code Online (Sandbox Code Playgroud)

因此,您需要告诉Visual Studio Code使用libTypeScript npm install 的文件夹.你这样做:

  1. 打开VS代码设置(文件 - >首选项 - >设置)

  2. 搜索typescript.tsdk设置 在此输入图像描述

  3. 找到npm安装TypeScript的地方:npm list -g typescript.在我的情况下,它返回C:\Users\username\AppData\Roaming\npm

  4. typescript.tsdk设置值覆盖为:C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib 注意使用双向后斜杠来使用带有反斜杠的正确转义字符串.

  5. 通过打开TypeScript文件确认VS Code正在使用npm版本的TypeScript进行智能感知,单击右下角的TypeScript版本号,并在任务窗口中看到VS Code从步骤4中指定的目录加载TypeScript:

在此输入图像描述

  1. 通过转到此文件夹并更改文件名,确认VS Code正在使用正确版本的TypeScript进行编译:

C:\ Users\username\AppData\Roaming \npm\tsc.cmd(类似于tsc1.cmd)

现在尝试在VS代码中构建(任务 - >运行任务 - > tsc:build - tsconfig.json),您应该在VS Code终端窗口中收到此错误消息:

'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
Run Code Online (Sandbox Code Playgroud)
  1. 将文件更改回tsc.cmd,您现在应该能够在全局安装的TypeScript节点包的VS Code中构建并使用Intellisense

  • 为什么这不是对已经包含 99% 此类信息的答案的编辑? (2认同)

mat*_*ich 9

您应该会看到底部栏中列出的版本号:

在此输入图像描述

如果您单击数字(上面的 2.4.0),您将看到一个选项来选择您想要使用的版本:

在此输入图像描述

如果您没有看到所需的版本,则意味着它可能尚未安装,您必须安装它。

npm install -g typescript@2.7.2
Run Code Online (Sandbox Code Playgroud)

替换2.7.2为您要安装的版本。


Jul*_*ien 6

要自动使用安装在工作区中的 Typescript 版本node_modules,而不必在每次设置新工作区时进行配置,您可以在用户设置 JSON而不是 Workspace)中设置默认的 Typescript 设置以使用相对路径:

{
    // ... other User settings
    "typescript.tsdk": "./node_modules/typescript/lib"
}
Run Code Online (Sandbox Code Playgroud)

现在,当您运行“Select Typescript Version...”命令时,“VS Code 的版本”将始终与“工作区版本”相同:

'选择打字稿版本...'命令

唯一潜在的缺点是这意味着您始终需要在您工作的工作区中安装 Typescript。不过,如果您在任何地方编写 Typescript,我认为这是一个合理的期望。