VSCode 调试器不会在 Typescript 断点处停止

VSCode debugger not stopping on Typescript breakpoints

I have a Lerna monorepo with 2 modules(packages): ps and cli.

ps 只是导出一个函数 whatevercli 导入。

然而,当我尝试使用 VSCode 调试此代码时,我的断点停止在生成的 Javascript 文件而不是我的源 Typescript 文件上。

这困扰了我好几个小时,我广泛地研究了我的 tsconfig.jsonlaunch.json 以及使用 vscode-pwa-analyzer 发现 VSCode 能够检测到我的源 TS 代码,但我无法找到修复方法。

编辑:我正在使用以下设置: macOS 大苏尔 v11.1 Node.js v14.8.0 打字稿 v4.1.3

here is a dump file of my above debug you can load to vscode-pwa-analyzer 我可以在这里看到我遇到了一些未绑定断点错误。

我复制了问题,但我会说这是预期的行为。

实际上在函数声明上设置断点是没有意义的。 如果您将 whatever 函数更改为同步函数(即 function whatever(): void),您会看到 VSCode 不允许您在该行上中断。

async 函数的特殊情况下,我们知道函数体实际上包裹在 Promise 中。可能在这种特殊情况下,打字稿调试器让我们在函数声明行上设置一个断点,让我们检查 Promise 换行之外发生了什么。