VS Code 是否安装了 TypeScript,如果安装了:在哪里?

Does VS Code install TypeScript, and if so: where?

我最近读到安装 VS Code 也会安装 TypeScript 编译器。这是真的?如果有,安装在哪里?

我在这里找到了一个 tsc.js 文件:

C:\Users\Deb\AppData\Local\Code\app-0.3.0\resources\app\server\lib\typeScript

但我在任何地方都找不到 tsc.exe

你找到了。 tsc.js 是 TypeScript 编译器的入口点。没有tsc.exe.

经过反复试验,我得出的结论是 VS Code 没有 安装 TypeScript 编译器。

必须使用 npm install -g typescript 手动安装 TypeScript 编译器。

如果在安装了 Visual Studio 2012/2013/2015 的机器上安装在 Windows 下,该机器可能还安装了其他版本的 TypeScript:C:\Program Files (x86 )\微软SDKs\TypeScript\

如果是这种情况,VS Code 可能 尝试使用那里安装的版本。为防止出现这种情况,请从环境路径变量中删除对上述 TypeScript 路径的所有引用。

要检查将找到的 TypeScript 编译器的默认版本,请使用命令行并键入:tsc -v。这应该给你版本号。

Shell 命令 'tsc' 仍然给出有关未找到命令的错误,尽管我有 运行

  • npm install -g typescript(和 tsc -v returns 版本 1.7.5)

最后我使用了外部命令:

  • "command": "C:/Users/user1/AppData/Roaming/npm/tsc.cmd",

  • "isShellCommand": "false"

然后构建

我 运行 在尝试在 Visual Studio 代码中构建一些 TypeScript 时遇到了这个问题,同时跟随@DeborahK 的 Pluralsight 课程 "Angular with TypeScript"。

我在 Visual Studio 代码输出面板中遇到了相同的错误消息。

'tsc' is not recognized as an internal or external command, operable program or batch file.

我最近从 npm 全局安装了 TypeScript 1.8.9。

npm install -g typescript

但是,在我的 cmd shell 中检查 TypeScript 编译器版本会显示旧版本 1.3.0。

$ tsc -v

为了解决这个问题,我从 "System variables" 中的 "Path" 变量中删除了引用(高级系统设置 > 环境变量... > 系统变量)。我删除了以下路径:

C:\Program Files (x86)\Microsoft SDKs\TypeScript.1\

我了解到我在同一台机器上安装的 Visual Studio 2013 也包括 TypeScript 1.3.0 的安装。清理我的 "Path" 变量修复了我的 TypeScript 编译器版本检查的输出。

遗憾的是,我在 Visual Studio 代码中仍然遇到问题。不可避免地为我修复它的是重新启动。

如果您在线程中深入到这里,这就是为我解决的问题。 YMMV.

明确一点:VS Code 没有自带 TS 编译器。您目前有两个选项:

  1. VS 2013/2015 插件(自带 tsc.exe) => 运行.
  2. 这个插件不需要 VStudio
  3. 使用 NodeJS 并通过包管理器 npm 安装 TS 编译器

我建议所有 VS Code 用户安装 NodeJS。事实上,编译需要的主要东西在 tsc.js 中,需要在主机中 运行 (=通过任何 JavaScript 执行引擎)。这可以是 tsc.exe 或 nodejs,但是存在差异。 NodeJS 允许监视文件(例如,使用 libuv 检测保存 ts 文件时的更改以自动编译)。只要不使用 VStudio,我推荐 NodeJS。 TSC.exe 可能(!)更快,因为它现在 运行 在 Chakra 上运行,这是新的边缘引擎。然而,NodeJS 使用 Google v8 应该也相当快。我还遇到了 tsc.exe 的路径问题。 VS Code 确实 运行 独立于编译器,它没有像 msbuild 与 vstudio 一样与编译器合并。因此,如果没有 PATH 条目,VSCode 将失败。我从来没有遇到过 NodeJS 的问题。

最好的, 克里斯蒂安