

用 Codex IDE 扩展修改代码并在分享前审查差异
你可以在编辑器中打开文件的同时使用 Codex,修复一个小型界面问题,查看每一行改动,并在分享之前亲自测试。第一次操作可预留约 30 分钟。需要 VS Code 或兼容的编辑器、Codex 扩展、测试仓库和有使用权限的账号。最终结果应该是范围明确的修改、读过的 diff 和实际跑过的测试。
OpenAI 的 Codex IDE extension 指南介绍了如何把当前文件或选中的代码带入提问,在编辑器里查看摘要和修改,并在同一对话中继续追问。如果你习惯从终端开始,可以阅读首次使用 Codex CLI 修改代码的指南。本文适合希望在编辑器里同时掌握上下文和改动的人。
准备工作
**工具:**在 VS Code、Cursor 或 Windsurf 安装 Codex 扩展。打开仓库并点击 Codex 图标。如果看不到图标,从 Command Palette 运行 Codex: Open Codex Sidebar,再按界面提示登录。Xcode 和 JetBrains 有各自的集成方式,以下步骤针对 VS Code 类扩展。
**输入材料:**选择一个看得见的小问题。例如,邮箱为空时“发送”按钮仍然可点击。找出界面文件、相关测试文件和仓库的测试命令。命令不清楚时先看 README。委派修改前建立一个 Git 检查点,便于比较和撤销;OpenAI 也建议这样做。
**边界:**使用独立工作分支,不要以真实客户数据或密钥作为示例。在允许 Codex 执行命令前检查权限;Codex 范围与审批指南说明了做法。选中的代码只是问题的上下文,不会自动授予 agent 更多访问权限。
分步操作
1. 打开正确代码,只提供必要上下文
打开表单文件,选中控制“发送”按钮的代码。在 Codex 的输入框中,你可以引用已打开的文件、选区或最近的对话。扩展命令中的 chatgpt.addToThread 可添加选区,chatgpt.addFileToThread 可添加整个文件。可从 Command Palette 查找这些命令。/ide-context 控制自动提供的 IDE 上下文。
不要因为还没找到问题,就在一个提问中塞入整个仓库。先让 Codex 给出文件路径,再亲自打开核对。如果已经知道位置,请写明文件和当前行为。先用只读请求:
请检查 [表单文件路径] 和选中的代码,解释邮箱为空时“发送”按钮为何仍可点击。先说明处理流程,并指出相关测试文件。暂时不要修改代码。
有用的回答会指出具体函数或代码行、当前条件和验证方法。如果 Codex 只是猜测却找不到代码,请继续要求证据。第一次接触能读写文件的 agent,可以先看什么是 AI agent。
2. 提出一项有边界的修改
确认文件后,提出一个小修改。说明用户能看到的结果、文件范围和验证方法。把方括号中的占位内容替换成你的仓库路径:
修改 [表单文件路径],使邮箱为空或只包含空格时“发送”按钮不可点击。邮箱有效时保留现有行为。如果仓库已有表单测试,只更新相关测试。不要改动其他页面。修改后列出变更的文件和运行过的测试命令。
如果建议的修改涉及身份验证、支付或数据文件,请停下来重新评估范围。一个小请求并不保证 Codex 只修改一个文件。阅读变更文件列表;保留额外改动之前,要求解释它与当前问题的关系。
Developer settings说明,Codex 运行时发出的消息默认进入队列(queue),也可以引导当前运行(steer)。按 Cmd 或 Ctrl + Shift + Enter 可临时反转一次行为。添加紧急限制之前先检查模式;排队中的消息尚未影响正在进行的修改。
3. 先读摘要,再在编辑器里看 diff
Codex 表示完成后,先利用摘要定位修改,再打开每个文件的 diff。IDE 指南介绍了如何在源码旁查看改动,并在同一对话里追问。摘要方便导航,diff 才展示实际变更的代码行。逐项检查:
- 按钮是否只在要求的条件下禁用?有效输入时能否正常使用?
- 新逻辑是否处理了只有空格的输入?
- 测试是否覆盖空值和有效值?
- 是否有无关文件被修改、删除或大面积重新格式化?
- 新代码是否读取 token、向网络发送数据或修改权限设置?
无需理解每个实现细节,也能从 diff 中发现问题。可以让 Codex 解释难懂的代码行,但仓库负责人或 reviewer 仍应亲自阅读。如果某段不对,请指出需要删除或修改的部分。每次追问后重新查看 diff,因为最终版本可能已经变化。
4. 运行测试,请 Codex review 未提交的改动
运行仓库的测试命令并阅读输出。如果缺少依赖或无法执行,记录原因,交给有合适环境的人。针对界面变化,打开测试页面,分别尝试空邮箱和有效邮箱。自动化测试与手工检查回答的是不同问题。
有了 diff 之后,可以在输入框中使用 /review,请 Codex 审查未提交的改动,或将其与基础分支比较。OpenAI IDE 命令列表说明了这个功能。请求尽量具体:
请 review “发送”按钮任务的未提交改动。查找逻辑错误、边界情况和缺少的测试。每项发现都写出文件路径、相关代码行和原因。本次 review 不要修改代码。
/review 只是多一轮审查,不能代替阅读 diff、运行测试和人工批准。编辑器设置中的 chatgpt.reviewDelivery 在可用时默认使用 inline;选 detached 可单独开启 review 对话。这是界面呈现设置,不是命令权限策略。
5. 留下验证记录后再分享
提交代码或创建 pull request 前,记录目标、变更文件和测试结果。如果界面变化可见,保存前后截图。review 后再次阅读最终 diff。如果只保留部分修改,用编辑器的 Git 工具选择,再重新运行测试。Codex 说“修好了”,不代表代码已经发送到共享仓库。
如果任务扩大或需要独立运行环境,Codex IDE extension在账号具备权限时可以把工作交给 Codex web。完成后仍要回到编辑器检查结果。Codex Cloud 从错误到 pull request 的指南介绍了该流程。本文只处理编辑器内的小修改。
示例结果
在测试仓库中,Codex 指出 disabled 条件没有去除空格。你要求只修改表单并添加两个测试。Diff 只包含组件和测试文件。测试命令通过;手工检查发现空邮箱时按钮禁用,有效邮箱时恢复可用。/review 没提出新问题,但 reviewer 仍在创建 pull request 前阅读 diff。如果测试失败,应如实记录失败及原因。
改进建议
- 先给出选区或一个相关文件。只有在有明确理由时才补充其他文件。
- 每轮只要求一种可观察的行为和一项对应检查。
- 建立 Git 检查点,每轮后都查看 diff。
- 将
chatgpt.*留在编辑器设置中。Developer settings把它与config.toml区分开。后者保存与 CLI 共用的模型、权限、sandbox 和 MCP 设置。 - 在 Windows 上,只有仓库和工具确实位于 WSL2 时,
chatgpt.runCodexInWindowsSubsystemForLinux才有帮助。修改该设置会重新加载 VS Code。
已知限制
IDE 上下文不代表 Codex 理解了整个仓库。打开的文件可能不是最新版本,选区可能遗漏关联函数,测试也可能无法在你的设备上运行。证据不足时,请打开相关文件继续追问。涉及安全、资金或客户数据的修改,需要领域专家审核。
chatgpt.* 设置影响扩展在编辑器中的显示和消息处理方式,不会授予 agent 权限。相反,config.toml 或组织策略的变更可能同时影响 CLI 与 IDE。不要随意切换界面设置来处理权限错误。OpenAI 可能更新按钮名称和路径,操作时请核对当前界面。
常见问题
Cursor 或 Windsurf 用户能照着做吗? OpenAI 将它们列为兼容 Codex 扩展的编辑器。按钮位置可能不同,但 Codex 图标和打开侧边栏的命令是起点。
选中代码就能限制 Codex 只修改这段吗? 不能。选区为请求提供上下文。仍需在提示中说明修改范围,完成后检查完整 diff。
/review 会自动运行测试并保证代码正确吗? 不会。它启动变更审查。你仍要运行测试、阅读结果,并检查需要修复的行为。
为什么补充消息没影响正在进行的修改? 它可能在 chatgpt.followUpQueueMode = queue 下排队。检查当前模式,必要时选择引导本次运行。
换模型需要修改 VS Code 中的 chatgpt.* 吗? 不需要。模型和与 CLI 共用的 agent 设置位于 config.toml;chatgpt.* 控制扩展在编辑器中的行为。
官方来源:Codex IDE extension、Developer settings、Developer commands。OpenAI Learn,核对日期:2026 年 10 月 5 日。





