Bug 修复是新手最高频的实用功能,不用逐行死磕代码、不用到处搜报错帖,只需提供目标代码和报错信息,Codex 就能自动定位错误原因,并给出修正后的完整代码。覆盖语法错误、运行异常、逻辑漏洞等常见开发问题,能大幅缩短排错时间。
一、三种触发方式,按需选用
功能入口与其他代码操作保持一致,根据错误复杂度选择对应方式即可。
1. 悬浮工具栏(简单报错首选,最快)
适合明显的语法错误、单段代码的小问题,一键触发:
- 用鼠标选中报红、运行出错的代码片段;
- 代码右侧弹出悬浮工具栏,点击「修复」按钮;
- 侧边栏会自动输出错误原因说明 + 修正后的完整代码,核对后替换原代码即可。
2. 右键菜单(中等复杂度错误)
适合单函数、单模块的错误修复,操作最直观:
- 选中出错的代码范围;
- 点击鼠标右键,选择「Codex → Fix this code(修复这段代码)」;
- 等待几秒即可得到错误分析和修正方案,支持直接一键替换回编辑器。
3. 侧边栏对话(复杂报错、疑难问题)
适合运行时报错、逻辑异常、多文件关联的复杂问题,可补充完整报错信息,支持多轮迭代排查:
- 先在编辑器中选中相关代码,打开 Codex 侧边栏;
- 粘贴完整的控制台报错信息,补充描述错误现象;
- 发送后等待分析结果,修复不成功可继续补充信息追问调整。
二、不同场景的正确用法(附直接套用的指令模板)
1. 简单语法/格式错误
比如拼写错误、缺少括号/分号、标签不闭合、语法格式不符等编辑器直接标红的问题:
直接选中报错代码段,一键触发修复即可,绝大多数基础语法问题都能一次性修正。
2. 运行时报错(有控制台报错日志)
代码能写但运行崩掉,控制台有明确报错信息,这是最常见的场景,按模板描述准确率最高:
这段代码运行时报错,帮我定位原因并修复。
报错信息:
【粘贴完整的报错堆栈,包含错误类型、报错行号】
注意:不要只截报错的最后一行,完整的报错堆栈包含调用链路,定位更精准;不要只说“运行报错”,信息越全修复越快。
3. 隐性逻辑 Bug(不报错但结果不对)
代码能正常运行,没有报错,但输出结果不符合预期,属于逻辑漏洞:
这段代码预期实现【描述预期功能】,输入【示例输入】时期望得到【预期结果】,
但实际运行结果是【实际现象】,没有报错,帮我排查逻辑问题并修正。
三、提升修复准确率的实用技巧
- 报错信息给全
优先提供:错误类型(如 ReferenceError)、错误描述、报错文件与行号、核心调用堆栈;不要只说“代码跑不起来”,信息越模糊越容易误判。
- 带上完整上下文
不要只选中报错的那一行代码,把相关的变量定义、依赖引入、调用逻辑一起选中。很多错误根源不在报错行本身,上下文缺失会导致修复方案偏离。
- 补充环境背景
特殊场景补充技术栈与版本,比如“这是 Vue3 + Element Plus 项目”“运行环境是 Node.js 18”,能避免兼容类、框架特性类的误判。
- 一次只修一个错误
控制台有多个报错时,先修最靠前的第一个错误。很多后续报错是第一个错误引发的连锁反应,修好第一个后重新运行,后续问题往往会自动消失。
四、常见问题与处理
- 修复后还是报错,方案不对症
不要重新生成一遍,把新的报错信息和修改后的代码再发过去,补充说明:“按方案修改后仍然报错,新的报错信息是xxx”,引导它基于新状态迭代修正,比重新生成效率更高。
- 完全定位不到原因,多次修复都不对
先确认代码和报错是否对应,补充完整复现步骤、测试用的输入数据;如果是复杂业务逻辑,先把代码拆成小块,逐个模块排查缩小范围,不要一次性扔整段大代码。
- 报错信息太长,不知道贴哪些
优先贴核心三段:错误类型 + 错误描述、报错的文件路径与行号、从你的业务代码出发的调用堆栈;系统底层日志、第三方依赖的完整长堆栈可以精简,不用全贴。
实用小提示:修复完成后建议先本地运行验证,确认问题彻底解决再替换全量代码;核心业务逻辑可以让它补充说明“错误原因和修复思路”,既能验证合理性,也能顺便积累排错经验。