无法在TypeScript中设置断点 - VS Code

时间:2016-01-11 13:31:43

标签: node.js typescript visual-studio-code

我在Visual Studio Code中的TypeScript nodejs应用程序中设置断点时遇到问题。我已按照Visual Studio Code网站上的说明进行操作,但未成功。

这是我的tasks.json:

{
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "showOutput": "always",
    "args": ["-p", "src"],
    "problemMatcher": "$tsc"
}

这是我的tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false
    },
    "exclude": [
        "node_modules"
    ]
}

看起来好像正在生成源地图;但是试图在任何TypeScript文件中放置一个断点会产生一个灰色的圆圈......是什么给出了?我错过了什么?

2 个答案:

答案 0 :(得分:1)

你还需要告诉VSCode在你的launch.json文件中使用sourceMaps(它应该位于.vscode / launch.json下),你应该有类似的东西:

    "configurations": [
    {
        "name": "Launch",
        "type": "node",
        "request": "launch",
        "program": "path/to/your/main.ts",
        "stopOnEntry": false,
        "args": [],
        "cwd": ".",
        "runtimeExecutable": null,
        "runtimeArgs": [
            "--nolazy"
        ],
        "env": {
            "NODE_ENV": "development"
        },
        "externalConsole": false,
        "sourceMaps": true
    },

希望这有帮助。

答案 1 :(得分:1)

您需要提供VS Code的源映射,以精确定位与JavaScript代码对应的TypeScript代码行。如果您在sourceMap中将true设置为tsconfig.json,则可以由TypeScript编译器自动生成源地图。

您可以尝试this starter code on GitHub,它是为了在VS Code中设置断点而构建的。