必须装egret coder和debugger for chrome两个插件;egret coder是官方唯一推荐插件,提供egret build/run命令集成与source map支持,debugger for chrome实现断点调试,其他旧名插件已废弃且可能冲突。

VSCode必须装哪些插件才能调试Egret项目
只装 Egret Coder 和 Debugger for Chrome 这两个插件就够了,其他如“EgretCode”“EgretUIEditor Support”等旧名插件已废弃,装了反而可能冲突。注意:Egret Coder 是官方维护的唯一推荐插件,2024年后所有引擎版本(5.3.x 起)都依赖它提供 egret run、egret build 命令集成和 source map 支持。
安装后重启 VSCode,再打开 Egret 项目目录,状态栏右下角应显示当前引擎版本号(如 v5.4.0),否则插件未生效。
launch.json里url和file字段怎么选
绝大多数离线开发场景必须用 url,不能用 file。因为 Egret 项目依赖跨域资源加载(如纹理图集、音频、远程配置),Chrome 直接打开 file:// 协议会拦截 XMLHttpRequest,导致白屏或报错 Failed to load resource: net::ERR_FILE_NOT_FOUND 或 Cross origin requests are only supported for protocol schemes。
正确做法是启动本地服务,然后在 launch.json 中填服务地址:
-
"url": "http://localhost:3000/index.html"—— 对应egret run -a启动的默认端口 -
"runtimeExecutable": "C:\Program Files\Google\Chrome\Application\chrome.exe"—— 路径含空格必须用双反斜杠或引号包裹 -
"webRoot": "${workspaceFolder}"—— 不要用已弃用的${workspaceRoot} -
"sourceMaps": true必须为true,否则断点无效
tasks.json里build任务为什么总失败
常见失败原因是 Node.js 版本不兼容或 egret 命令未全局注册。Egret 5.3+ 引擎要求 Node.js ≥ 16.14.0,但官方 Launcher 安装的 egret-cli 默认不加到 PATH,需手动执行:
npm install -g egret@5.4.0
之后验证:
egret --version
若提示 command not found,请检查 npm 全局路径是否加入系统 PATH;若提示权限错误,在 PowerShell 中以管理员身份运行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。
tasks.json 中关键项必须匹配实际命令行为:
-
"command": "egret"—— 不是egret-cli或npx egret -
"args": ["build", "-sourcemap"]——-sourcemap缺失会导致断点无法命中 TS 源码 -
"problemMatcher": "$tsc"可保留,但实际匹配的是 Egret 自己的编译输出,非标准 TypeScript
为什么F5后Chrome打不开或断点不触发
最常被忽略的是:每次 F5 前,必须确保终端里没有残留的 egret run 进程。Windows 下 Ctrl+C 经常无法彻底终止 Node.js 子进程,残留的 node.exe 会占住 3000 端口,新调试会卡在 “Waiting for localhost:3000…”。
解决办法:
- 任务栏右键 → 任务管理器 → 结束所有
node.exe进程 - 在 VSCode 终端中运行
netstat -ano | findstr :3000,查出 PID 后用taskkill /f /pid [PID]强杀 - 改用
egret run -p 3001换端口,同时同步修改launch.json中的url
另一个隐蔽问题是 webRoot 指向错误。如果项目是用 Egret Launcher 创建的标准结构,根目录下有 index.html 和 libs 文件夹,webRoot 就必须是 ${workspaceFolder};若误设为 ${workspaceFolder}/bin-debug,source map 路径解析就会失败,断点显示为“未绑定”。











