【问题标题】:How do you debug typescript in Visual Studio Code successfully?如何在 Visual Studio Code 中成功调试 typescript?
【发布时间】:2018-05-19 15:51:51
【问题描述】:

我注意到,如果您通常使用 Node 包管理器,您的 package.json 可以有如下内容:

(dependencies and devDependencies omitted)..
"scripts": {
    "start": "concurrently \"npm run tscwatch\" \"npm run lite\" ",
    "tsc": "tsc",
    "tscwatch": "tsc -w",
    "lite": "lite-server",
    "typings": "typings",
    "postinstall": "typings install"
  }

然后您只需进入您所在文件夹的级别并输入

npm install

然后

npm start

精简版服务器托管您的应用程序,并且 typescript 编译为 javascript。前提是你已经运行了相当于你的 typescript 配置并且有一个有效的 tsconfig.json。除此之外,我还想调试 Typescript,然后一堵墙让它工作。我知道您可以添加 VS Code 用来执行多种类型的启动程序的能力的“launch.json”。它们中的很多都适用于我在网上找到的简单应用程序,但对于我使用的 Angular 却不适用。但是当我尝试在 launch.json 中执行 NPM Start 时:

 {
        "type": "node",
        "request": "launch",
        "name": "Launch via NPM ProAngular Example",
        "runtimeExecutable": "npm",
        "args": ["${relativeFile}"],
        "runtimeArgs": [
            "start"
        ]
    }

它将运行,但随后尝试打开 Visual Studio Professional(其他人可能不是这种情况),然后出现如下错误:“无法连接到运行时进程,10000 毫秒后超时 - (原因:无法连接到目标: 连接 ECONNREFUSED 127.0.0.1:(port))。我已经尝试了 NPM 的其他配置来启动和其他事情。我只想在使用 Angular 完成后调试 Typescript,在 VS Code 中可以吗?

【问题讨论】:

  • 你的标题是visual studio code,而文字是visual studio,请弄清楚你使用的是哪一个,这对响应很重要。
  • 是Visual Studio Code,无意间打开了Visual Studio。不知道为什么我使用的配置会这样。
  • 为什么特别需要在 Visual Studio Code 中进行调试?使用 Chrome 开发者工具调试器进行调试既快速又简单,这也是大多数开发者喜欢这样做的原因。
  • 你不能在 Chrome 工具中调试 Typescript 可以吗?

标签: angular typescript debugging visual-studio-code


【解决方案1】:

按照 VSCode 中的以下说明进行操作:

1- 下载latest release of VS Code 并安装Chrome debugger

2- 确保 Chrome 至少是 59 版(请参阅issue

3- 使用 angular-cli 创建您的 Angular 应用

4- 创建一个 launch.jsonfile 来配置 VS Code 调试器并将其放在根文件夹的 .vscode 中。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome with ng serve",
      "url": "http://localhost:4200/#",
      "webRoot": "${workspaceRoot}"
    },
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome with ng test",
      "url": "http://localhost:9876/debug.html",
      "webRoot": "${workspaceRoot}"
    }
  ]
}
  1. 通过在您最喜欢的终端中运行 ng serve 来启动您的 Angular 应用程序。

  2. 在 VS Code 中按F5 或转到调试部分选择Launch Chrome with ng serve 然后单击绿色调试图标开始调试。

【讨论】:

  • 这有点用。我仍然需要确保 Typings 配置设置为进行映射。我需要先运行 NPM start 才能正确连接。但是一旦所有这些都完成了,它就会起作用。我希望有一种方法可以使用 NPM 启动启动配置来做到这一点。第 3 点似乎是一个旁白,因为我不必拥有它,而您的第 4 点真的只需要第一个配置即可有效地调试 Typescript。除此之外,尽管您的配置将有效地附加到 Typescript,所以如果没有人提供更好的东西,您就会得到答案。
  • 你可以在你的package.config 中有ng server 然后在调试之前运行 npm start ,我会添加它来回答。你是对的typescript 映射是必需的,但它与VSCode 调试无关,即使你想在开发人员工具中调试也是必要的。
  • 我一直在努力解决这个问题,它有很大帮助。如果你不介意,我能问一下为什么在localhost:4200 后面加上#?
猜你喜欢
  • 2016-12-29
  • 2017-12-18
  • 2016-04-01
  • 2019-04-19
  • 2016-06-06
  • 2020-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多