VSCode本身不运行JavaScript,所有调试依赖外部运行时:网页项目需Chrome+本地服务(禁用file://),Node.js脚本直接右键“Debug Script”或配置pwa-node;内置JavaScript Debugger已默认启用,无需额外插件。

VSCode 本身不运行 JavaScript,它只是编辑器;所有“运行”或“调试”行为都依赖外部运行时——浏览器脚本走 Live Server,服务端脚本必须靠系统已安装且可访问的 node 命令。没装好 Node.js 或环境变量没继承,后续一切配置都是空转。
node -v 在终端能跑,但 VSCode 里报 command not found
这不是插件问题,也不是 VSCode 故障,而是 VSCode 启动时没加载 shell 的环境变量初始化文件(比如 ~/.zshrc 或 ~/.bash_profile)。
- macOS/Linux:从 Dock 或 Spotlight 启动 VSCode 时,
which node输出的路径(如/opt/homebrew/bin/node)很可能不在 VSCode 继承的PATH中;改完~/.zshrc后必须重启 VSCode,或直接在终端执行code .启动 - Windows:Node.js 安装时若没勾选
Add to PATH,系统级环境变量里就没有node;打开“系统属性 → 高级 → 环境变量”,把C:\Program Files\nodejs\加进“系统变量”的PATH,再重启 VSCode - 验证方式只有一种:在 VSCode 内置终端(
Ctrl + `)里执行node -v;没输出就别配launch.json,也别点 F5
用 code-runner 插件运行 JS 脚本却乱码、卡死、不支持 import
code-runner 默认命令极简:node $fileName,它不处理编码、模块类型、输入流,也不读 package.json 配置,所以容易出问题。
- Windows 中文路径下乱码:在 VSCode 设置中搜索
code-runner.executorMap,把javascript对应值改成:"node -r utf-8 $fileName" - ESM 报
Cannot use import statement outside a module:先确保项目根目录有package.json且含"type": "module",再把 executor 改成:"node --experimental-specifier-resolution=node $fileName" - 遇到
process.stdin就假死:这是code-runner的固有限制,它不支持交互式输入;换用内置终端手动运行,或改用调试模式(F5)
配置 launch.json 调试时断点不命中,提示 Cannot launch program
这个错误不是代码语法错,而是调试器找不到真实可执行的 JS 文件,或者源映射(source map)和入口路径对不上。
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
-
program字段必须指向一个能被node直接执行的 JS 文件,比如${workspaceFolder}/dist/index.js;不能是.ts、.jsx或未编译的源码 - TypeScript 项目需在
tsconfig.json中启用"sourceMaps": true,且编译后.js.map和.js必须在同一目录 - ESM 项目必须在
package.json中声明"type": "module",否则调试器按 CommonJS 解析,import路径会解析失败 - 后端项目别用默认的
"program": "${file}";显式写成"program": "${workspaceFolder}/src/index.js"或"program": "${workspaceFolder}/dist/app.js"
想快速测试一段代码,又不想建文件、配配置
VSCode 自带的 JavaScript Debug Terminal 比写文件 + 配 launch.json 更轻量,它本质是一个带调试能力的 REPL。
- 按
Ctrl + Shift + P打开命令面板,输入JavaScript Debug Terminal并回车,就会新开一个终端并自动 attach 调试器 - 在这个终端里直接写
console.log('hello')回车就能执行,支持断点、变量查看、作用域检查 - 注意:它不读
package.json,也不支持import(除非你提前设了"type": "module"),适合单行/小段逻辑验证
最容易被忽略的一点是:VSCode 的终端和调试器都只认系统 PATH 里的 node,而不是你 nvm use 切换的版本——除非你从终端启动 VSCode,或在 .vscode/settings.json 里显式指定 runtimeExecutable。环境变量这层关系没理清,所有调试配置都会失效。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










