我是VSCode的新手,我将其用于调试node.js(Typescript)代码。 我注意到的一点是,如果我的代码在断点处停止,然后使用选项“ Step Over”或“ Step Into”,则代码将转到后编译的Javascript文件,而不是相关的Typescript文件。
您是否知道由于使用“进入” /“进入”而导致调试器仅进入Typescript文件?
我的settings.json文件看起来是这样的:
{
"type": "node2",
"request": "launch",
"name": "Launch TS Program",
"program": "${workspaceFolder}\\app.ts",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}\\**\\*.js"
],
"smartStep": true,
"outputCapture": "std",
"console": "internalConsole",
},
答案 0 :(得分:1)
尝试在启动配置文件(smartStep
)中将true
设置为launch.json
。
您可以在文档here中找到有关此选项的更多信息。
在启动配置VS中将
smartStep
属性设置为true
步进时代码将自动跳过“无趣的代码” 通过调试器中的代码。 “无趣的代码”是指 由转码过程生成,但未包含在源映射中 因此它不会映射回原始源。
答案 1 :(得分:0)
我有同样的问题。我在tsconfig.json
中设置了以下选项,然后在outDir
中删除了tsconfig.json
指定的目录。
{
...
"inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
...
}
然后,在下一次调试时重建项目时,步进操作似乎可以正常工作。