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