vscode调试javascript需按环境选插件并正确配置launch.json:浏览器调试用pwa-chrome/pwa-msedge,node.js调试用type:"node",必须确保路径、sourcemaps、cwd等配置准确,code runner仅执行不支持真调试。

VSCode 本身不执行 JavaScript,所谓“轻松调试”取决于你用哪个插件、跑在哪种环境(浏览器 or Node.js),以及 launch.json 是否配对。没配对的 Debugger for Chrome 会打不开页面,没装 Node.js 的 type: "node" 配置点 F5 就直接报错。
Debugger for Chrome / Edge 调试 HTML 中的 JS 逻辑
适用于带 <script></script> 标签的 HTML 页面,比如练习题、小 demo、本地原型。关键不是装插件,而是让它能连上浏览器并映射源码。
- 必须安装官方插件
JavaScript Debugger (Nightly)(新版 Edge/Chrome 调试器已内置,旧版Debugger for Chrome已弃用) -
launch.json中"type"应为"pwa-chrome"或"pwa-msedge",不是"chrome" -
"file"字段指向本地 HTML 文件(如"${workspaceFolder}/index.html"),不能写url除非你真有本地服务 - 首次运行时浏览器可能弹出“远程调试已禁用”,Win/mac 用户需确保 Edge/Chrome 是通过 VSCode 启动的(不是你手动点开的),否则断点不会命中
- 如果改了 JS 代码但断点没更新,检查
"sourceMaps": true是否开启,并确认构建工具(如 Vite、Webpack)输出了正确的.map文件
Node.js 调试器直接跑 .js 文件
适合 CLI 脚本、算法题、配置解析等不依赖 DOM 的场景。它不靠浏览器,但极度依赖 program 路径是否准确。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
-
program必须是可执行 JS 文件的**相对或绝对路径**,推荐用"${workspaceFolder}/src/main.js"这类变量,别手写硬编码路径 - 如果脚本依赖
process.argv或环境变量,要在launch.json里加"args"和"env"字段,例如:"args": ["--input", "data.json"] - 工作目录(
"cwd")默认是${workspaceFolder},但如果你的脚本读取./config.json,而文件实际在子目录,就得显式设"cwd": "${workspaceFolder}/scripts" - 常见报错
Cannot find module 'xxx'多半是cwd错了,或没装依赖——Node.js 调试器不会自动npm install
Code Runner 只适合“看输出”,不能真调试
它本质是快捷执行命令行,没有断点、变量监视、调用栈这些能力。误把它当调试器,容易在复杂逻辑里迷失。
- 安装后右键 →
Run Code,或按Ctrl+Alt+N,输出显示在 OUTPUT 面板的Code Runner标签页 - 若脚本含
prompt()、readline等交互操作,需在设置中开启code-runner.runInTerminal,否则卡死 - 它不读
launch.json,也不支持 sourcemap,JSX/TS 编译后出错,你看到的是编译后的行号,不是原始位置 - 想边改边看效果?不如用
pwa-chrome+ Live Server:改完Ctrl+S,浏览器F5刷新,断点依然有效
真正容易被忽略的点是:VSCode 的调试器只认配置,不认直觉。哪怕你右键选了“在当前文件中调试”,如果 .vscode/launch.json 里没对应 configuration,或者 type 写成 "node2" 这种不存在的值,F5 就只是安静地失败——连错误提示都不会弹。动手前先确认终端里 node -v 和 which chrome(或 where edge)能跑通,比反复点绿色按钮有用得多。










