VSCode调试器和打字稿:单步执行/进入JS文件

时间:2019-03-28 11:37:14

标签: typescript visual-studio-code

我是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",
        },

2 个答案:

答案 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. */
  ...
}

然后,在下一次调试时重建项目时,步进操作似乎可以正常工作。