VSCode 有关JS、TS的调试


参考:https://www.cnblogs.com/it-tsz/p/9022456.html

nestjs 参考:https://github.com/juliandavidmr/awesome-nestjs

vscode 原生支持nodejs的调试,点击Debug图标  进入,齿轮图标打开调试配置: launch.json  

launch.json 文件的配置项如下:可以建多个,最后显示于下拉列表,供选择使用。

name 给这个调试实例取一个名字, 
type      :debugger 类型 , Node,Python ,"cppdbg" 。不同语言,使用不同调试器,JS/TS 使用 Node
request :两种调试模式,可以为 launch(启动)或attach(附加)。指定开始调试的模式:
  • launch:在中指定的文件上启动调试器 program
  • attach:将调试器附加到已经运行的进程。有关示例,请参阅远程调试。 
preLaunchTask 开始调试之前,执行一个任务
postDebugTask 调试结束后,执行一个任务
 
program :// 将要进行调试的程序的路径                                 
args :// 程序调试时传递给程序的命令行参数,一个数组 [ ] ;           
runtimeExecutable : "npm",            
runtimeArgs : ["run-script", "debug" ]   
env :环境变量,
cwd :// 调试程序时的工作目录,一般为  ${workspaceRoot} 即代码所在目录  

    指定调试器的当前工作目录,它是代码中使用的任何相对路径的基础文件夹。如果省略,默认为${workspaceFolder}(在VS代码中打开的文件夹)。

作为一个例子,说${workspaceFolder}包含一个py_code文件夹包含app.py,和一个data文件夹包含salaries.csv。如果启动调试器py_code/app.py,则数据文件的相对路径根据以下值而变化cwd

CWD 数据文件的相对路径
省略或 ${workspaceFolder} data/salaries.csv
${workspaceFolder}/py_code ../data/salaries.csv
${workspaceFolder}/data salaries.csv
port :调试端口 ,比如:3000 
 
console :使用哪种console,比如    "integratedTerminal"。 指定如何显示程序输出。
显示输出的地方
"none" VS代码 调试控制台
"integratedTerminal" (默认) VS代码集成终端
"externalTerminal" 独立控制台窗口

externalConsole: // 调试时是否显示控制台窗口,一般设置为true显示控制台。

protocol :    "inspector",
 
stopOnEntry 当程序执行,马上break掉
 
internalConsoleOptions:   "neverOpen"
debugServer: for debug extension authors only
 
 ===============================

 launch.json的配置, 调试 Nestjs : 

   C:\XX\node.exe --nolazy -r  ts-node/register --inspect-brk=29685  C:\XXhpcorp项目/src/main.ts

{

"version": "0.2.0",
 "configurations": [ { "type": "node", "request": "launch", "name": "Debug Nest Framework", "args": ["${workspaceFolder}/src/main.ts"], "runtimeArgs": ["--nolazy", "-r", "ts-node/register"], "sourceMaps": true, "cwd": "${workspaceFolder}", "protocol": "inspector", "console": "integratedTerminal" } ] }
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Nest 应用", "runtimeArgs": [ "--nolazy", "-r", "ts-node/register", ], "args": [ "${workspaceFolder}/src/main.ts" ], "env": { "DEBUG": "yuedun:*,-not_this", "NODE_ENV": "development" }, "sourceMaps": true, "cwd": "${workspaceFolder}", "protocol": "inspector", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" } ] }
简化


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM