code runner 一键运行 js 文件默认在 output 面板执行,支持 console.log 等纯输出操作;但不支持 readline、prompt() 等交互输入,需启用 code-runner.runinterminal: true 才能在集成终端中运行。

Code Runner 一键运行 JS 文件,但别指望它能 readline
想快速验证一个 console.log 或数组方法?Code Runner 是最快路径。装好后按 Ctrl+Alt+N 或点右上角 ▶ 按钮,输出直接刷在 OUTPUT 面板的 Code Runner 标签页里。
但它不启动终端进程,所以以下代码会卡住或报错:
const readline = require('readline');<br>const rl = readline.createInterface({ input: process.stdin });
若需要交互输入,必须改配置:code-runner.runInTerminal 设为 true(在 VS Code 设置里搜这个 key)。
- 适合场景:纯输出类脚本、算法练习、小函数验证
- 不兼容:
prompt()、process.stdin、依赖终端响应的 CLI 工具 - 注意:它默认用
node执行,但不会读取项目根目录下的.env或package.json中的type: "module",ESM 导入会直接报错
Node.js 调试器必须有 launch.json,否则 F5 是摆设
VS Code 的调试功能不是“开箱即用”,F5 键没反应?大概率是缺 .vscode/launch.json。这个文件不是可选配置,是 Node.js 调试器的硬性依赖。
最简可用配置(放项目根目录下 .vscode/launch.json):
{<br> "version": "0.2.0",<br> "configurations": [<br> {<br> "type": "node",<br> "request": "launch",<br> "name": "Launch app.js",<br> "program": "${workspaceFolder}/app.js",<br> "console": "integratedTerminal"<br> }<br> ]<br>}
-
program必须指向真实存在的 JS 文件路径,相对路径以${workspaceFolder}为基准 -
console设为integratedTerminal后,readline和process.argv才能正常工作 - 如果项目用了 ESM(
import语法),需额外加"runtimeArgs": ["--loader", "ts-node/esm"]或确保package.json有"type": "module"
Debugger for Chrome 不等于“随便点 F5 就能断点”
前端 JS 调试要走浏览器环境,Debugger for Chrome 插件只是桥梁,真正执行的是 Chrome 进程。它和 Live Server 是搭档关系,不是替代关系。
典型流程:
- 先用
Live Server启服务(右下角点Go Live,得到类似http://127.0.0.1:5500的地址) - 再配
launch.json,关键字段是"url": "http://127.0.0.1:5500"和"webRoot": "${workspaceFolder}" - 断点只对已加载的脚本生效——比如
<script src="main.js"></script>,而不是直接写在<script></script>标签里的内联代码(除非开启 source map)
常见失败原因:url 端口和 Live Server 实际端口不一致;webRoot 指向错误导致找不到源码映射;Chrome 启动时未启用远程调试(Edge 默认开,Chrome 需加 --remote-debugging-port=9222 参数)。
Node.js 版本和 PATH 是隐藏雷区
所有调试方式都依赖 node 命令可用。但 VS Code 内置终端能跑 node -v,不代表编辑器本身能调用它——尤其是 Windows 上装完 Node.js 没重启 VS Code,PATH 可能压根没刷新。
- 验证方式:在 VS Code 内置终端(
Ctrl+`)运行node -v,成功才继续 - Mac/Linux 用户要注意 Shell 初始化文件(如
~/.zshrc)是否把 Node.js bin 目录加进了PATH - WSL 用户需确认 Windows 版 Node.js 是否安装,还是只装了 WSL 里的版本——两者 PATH 不互通
一旦 node 不可达,Code Runner 报 command not found: node,调试器报 Cannot find runtime 'node',所有路径都白配。











