VSCode 调试器不会在 Typescript 断点处停止
VSCode debugger not stopping on Typescript breakpoints
I have a Lerna monorepo with 2 modules(packages): ps
and cli
.
ps
只是导出一个函数 whatever
,cli
导入。
然而,当我尝试使用 VSCode 调试此代码时,我的断点停止在生成的 Javascript 文件而不是我的源 Typescript 文件上。
这困扰了我好几个小时,我广泛地研究了我的 tsconfig.json
和 launch.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
换行之外发生了什么。
I have a Lerna monorepo with 2 modules(packages): ps
and cli
.
ps
只是导出一个函数 whatever
,cli
导入。
然而,当我尝试使用 VSCode 调试此代码时,我的断点停止在生成的 Javascript 文件而不是我的源 Typescript 文件上。
这困扰了我好几个小时,我广泛地研究了我的 tsconfig.json
和 launch.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
换行之外发生了什么。