VS Code debugging
If you use VS Code, you can configure it to use tsx to enhance your debugging experience.
To learn more about VS Code configuration, refer to the Launch Configuration documentation.
Setup
Create the config file
Create a launch configuration file in your project at
.vscode/launch.json
:json5{ "version": "0.2.0", "configurations": [ /* * Each config in this array corresponds to an option * in the debug drop-down */ ], }
Pick and choose debugging methods
Method 1: Run tsx from inside VSCode
Add the following configuration to the
configurations
array in.vscode/launch.json
:json5{ "name": "tsx", "type": "node", "request": "launch", // Debug current file in VSCode "program": "${file}", /* * Path to tsx binary * Assuming locally installed */ "runtimeExecutable": "tsx", /* * Open terminal when debugging starts (Optional) * Useful to see console.logs */ "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", // Files to exclude from debugger (e.g. call stack) "skipFiles": [ // Node.js internal core modules "<node_internals>/**", // Ignore all dependencies (optional) "${workspaceFolder}/node_modules/**", ], }
In VSCode, open the JS/TS file you want to run
Go to VSCode's debug panel, select "tsx" in the drop down, and hit the play button (F5).
Method 2: Attach the VS Code debugger to a running Node.js process
This method works for any Node.js process like tsx, and is not specific to tsx.
Add the following configuration to the
configurations
array in.vscode/launch.json
:json{ "name": "Attach to process", "type": "node", "request": "attach", "port": 9229, "skipFiles": [ // Node.js internal core modules "<node_internals>/**", // Ignore all dependencies (optional) "${workspaceFolder}/node_modules/**", ], }
Run tsx with
--inspect-brk
in a terminal window:shtsx --inspect-brk ./your-file.ts
Go to VSCode's debug panel, select "Attach to process" in the drop down, and hit the play button (F5).