乐趣区

关于visual-studio-code:vscode的node环境debug使用

本文讲述对 node 环境中应用 vscode 的 debug 进行调试。具体内容请仔细阅读[官网](),本文只是用来疏导如何疾速调试,高级用法须要参考官网的细节配置。

任意繁多文件的疾速调试

如果对于任意一个能够应用 node 指令执行的文件,间接在 vscode 中关上:

应用 vscode 搭上断点或者代码中编写debugger;,而后在左侧目录中选中 debug 扩大:

点击“运行和调试”,即可 debug 以后关上文件:

疾速调试多个文件

如果须要调试多个文件,能够关上一个反对调试的 js 中断:

在终端中执行代码:

执行后,也是调试成果:

该形式能够在终端继续调试,是一个罕用的长期调试形式。

固定反复调试某个文件

如果须要对某个文件进行反复调试,这个时候能够配置 debugger 配置:

如果是关上了某个文件,而后点击创立 lanuch.json 文件,抉择 node 环境:

它会创立一个用 node 执行该文件的配置:

执行右上角的“Lanch Program”(箭头所指),不论你以后 vscode 关上的是哪个文件,都会调试 debug-test.js 文件。

执行后,vscode 会主动关上调试文件。

生成的文件在当前工作空间目录下的 .vscode 目录下:

如果须要多人共用,留神不要被 .gitignore
同理删除该文件,之前创立的调试配置就会被革除。

如果以后没有关上文件,创立的配置为:

跟咱们间接点击“运行和调试”是一样的。

该形式的益处是,在调试配置文件中,能够配置一些参数 (如ts-register 等),环境变量等,能够固定一些测试场景,防止每次反复设置。

反对配置多个调试配置。其中 name 倡议保护成具备具体含意的文本,不便调试:

调试即可多个选项抉择:

须要预处理的调试

在调试高版本 es6 或者 ts 代码时,须要在调试之前须要固定进行一些解决。

第一种形式,就是依照下面的配置的形式,而后配置参数 args,runtimeArgs 的形式,利用一些预处理工具的 register 机制,如@babel/register,ts-node/register:

{
  "type": "node",
  "request": "launch",
  "name": "后置指令",
  "skipFiles": ["<node_internals>/**"],
  "program": "${workspaceFolder}/debug-test.ts",
  "runtimeArgs": ["-r", "ts-node/register"],
  "outFiles": ["${workspaceFolder}/**/*.js"
  ]
},

另一种形式就是,写一个代理的入口文件,在这个入口文件中,对其余文件进行预处理而后执行。也就是你能够间接把 program 配置成你的脚手架,而后执行,此时整个脚手架都具备调试性能。

在 vscode 的 debug 中,还提供了一种 preLaunchTask 机制, 通过在配置中配置 preLaunchTask 应用:

{
  "type": "node",
  "request": "launch",
  "name": "具备前置工作",
  "program": "${workspaceFolder}/out/test.js",
  "preLaunchTask": "build-ts",
  "outFiles": ["${workspaceFolder}/out/test.js"]
}

下面的配置还须要创立对应的 task

最罕用的还是将调试指令配置为执行一个命令:

{
  "command": "npm run debug",
  "name": "通过指令",
  "request": "launch",
  "type": "node-terminal"
},

debug 的每次执行,都会执行指令 npm run debug,也就是package.json 中的 scriptsdebug指令,这种形式更加灵便和更广的适用范围,倡议应用该形式。

退出移动版