Le Woogush
Le Woogush

Reputation: 385

Debugging TypeScript in VS Code steps into JavaScript instead

I'm trying to debug my typescript NodeJs application in VS Code with the following launch.json:

   {
   "version": "0.2.0",
      "configurations": [
         {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}/apps/file-server-app/app.ts",
            "outFiles": [
                "${workspaceFolder}/build/**/*.js"
            ],            
            "runtimeArgs": [
                "--require", 
                "ts-node/register"
            ]
        }
      ]
   }

The application starts fine and everything works as it should except the breakpoints. Instead of stopping on the actual line I placed the breakpoint in the Typescript code, it breaks on the line in the compiled Javascript equivalent.

Things I've tried:

Additional information:

VSCode Version: 1.46.1
TypeScript Version: 3.8.3

Upvotes: 8

Views: 3705

Answers (2)

Simon Corcos
Simon Corcos

Reputation: 1022

Turns out this is intended in the design of VS Code.

To fix it, you can either:

  • Set outFiles in your launch.json to an empty array so that sourcemaps are not discovered and the path redirection doesn't happen.
  • or drop ts-node and debug compiled files, or use ts-node without manually compiling them.

See this github issue for more details: https://github.com/microsoft/vscode/issues/101927

Upvotes: 7

Le Woogush
Le Woogush

Reputation: 385

Apparently, enabling the allowjs setting in the tsconfig.json and compiling the typescript with that makes the VS Code debugger step into the Javascript files instead of the Typescript files. For now, even if it means you can't error check your javascript files while compiling the typescript, the workaround is to disable the allowjs setting by setting it to false like this:

"compilerOptions": {
    //"allowJs": true
}

Upvotes: 2

Related Questions