VSCode本身不运行测试,需靠插件组合实现“改完即测”:Code Runner适合单文件快速验证(不支持ES模块和交互式输入),Jest Runner用于单元测试套件(需本地安装jest并配置jest.config.js),JavaScript Debugger支持精准断点调试(需正确配置launch.json中program路径及type)。

VSCode 本身不运行测试,但靠插件组合能实现“改完即测”——关键不是装得多,而是选对三类插件:执行器、断点器、校验器。
用 Code Runner 快速验证单文件逻辑
适合刚写完一个函数、想秒看输出结果的场景。它不启动完整 Node 环境,也不读 package.json,直接调用 node 执行当前文件。
- 默认在 OUTPUT 面板输出,
console.log可见,但process.stdin类交互式输入会卡住 - 若需传参(比如
node app.js --env=dev),要手动编辑settings.json中的code-runner.executorMap,把javascript对应值改成:"node $fileName $args" - 不兼容 ES 模块语法(
import/export),遇到Cannot use import statement outside a module就得切到Node.js调试模式或加--experimental-modules
用 Jest 插件跑单元测试套件
当项目已有 test/ 目录和 .test.js 文件,且已安装 jest 作为 dev 依赖时,Jest Runner 插件能直接点击单个测试用例旁的“▶”运行它。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 必须确保项目根目录有
jest.config.js或package.json里定义了jest字段,否则插件找不到配置 - 报错
Jest not found多半是因为没在项目内执行npm install --save-dev jest,全局安装无效 - 测试失败时,错误堆栈默认折叠在 OUTPUT → Jest 面板里,点右侧小箭头才能展开具体哪行断言失败
用 JavaScript Debugger 配合 launch.json 精准断点调试
这是唯一能真正“暂停执行、查变量、改值再继续”的方式,尤其适合异步逻辑、回调嵌套、Promise 链出问题时。
-
launch.json中"program"必须写相对路径(如"${workspaceFolder}/src/index.js"),不能写index.js或绝对路径,否则调试器找不到入口 - 设断点后按
F5启动,如果控制台立刻退出并提示Process exited with code 0,大概率是"stopOnEntry"设为true但代码本身没阻塞(比如没readline或没setTimeout) - 想调试浏览器端 JS?别用这个配置,要换
type: "pwa-chrome"并配好url和webRoot,否则断点打在bundle.js上而非源码
最常被忽略的一点:Code Runner 和 Jest Runner 都依赖系统 PATH 里的 node 版本;而 JavaScript Debugger 默认用项目 node_modules/.bin/node。两者不一致时,require() 行为、ES 模块支持可能完全不同——别只看输出结果对不对,先确认你用的是哪个 node。

















