Codex CLI 虽然是终端工具,但它与 VS Code 和 Git 的深度集成让 AI 编程无缝嵌入你现有的开发环境。本章教你如何让 Codex 与编辑器和版本控制系统高效协同。
最直接的集成方式:在 VS Code 的集成终端中使用 Codex。
# 在 VS Code 终端中(Ctrl+` 打开) codex "分析当前打开的文件,提出改进建议"
Codex 能自动感知 VS Code 的当前工作目录和项目文件。
推荐将 VS Code 和终端分屏使用:
┌─────────────────┬──────────────────┐ │ │ │ │ VS Code │ 终端 (Codex) │ │ 编辑器 │ │ │ │ > codex "..." │ │ 查看代码 │ AI 执行操作 │ │ 审阅改动 │ 实时反馈 │ │ │ │ └─────────────────┴──────────────────┘
左侧编辑器查看代码,右侧终端与 Codex 对话。AI 生成代码 → 左侧即时显示 → 不满意就回退 /undo。
# 让 Codex 生成改动,但不直接写入,而是输出 diff codex "重构 UserService,分离关注点" --dry-run > changes.patch # 在 VS Code 中审查 diff code changes.patch
VS Code 会将 .patch 文件以差异视图显示,你可以逐块审核后再决定是否应用。
使用 VS Code 的 tasks.json 将常用 Codex 命令绑定到快捷键:
{
"version": "2.0.0",
"tasks": [
{
"label": "Codex: 审查当前文件",
"type": "shell",
"command": "codex exec --yes '审查 ${relativeFile}'",
"presentation": { "reveal": "always", "panel": "dedicated" }
},
{
"label": "Codex: 为当前文件生成测试",
"type": "shell",
"command": "codex exec --yes '为 ${relativeFile} 生成完整的单元测试'",
"presentation": { "reveal": "always" }
}
]
}
然后在 keybindings.json 中绑定:
[
{ "key": "ctrl+shift+r", "command": "workbench.action.tasks.runTask", "args": "Codex: 审查当前文件" },
{ "key": "ctrl+shift+t", "command": "workbench.action.tasks.runTask", "args": "Codex: 为当前文件生成测试" }
]
典型工作流:
在 VS Code 中浏览代码,发现问题
Ctrl+` 打开终端
输入 codex "这里的问题是什么,怎么修"
Codex 分析并修改文件
VS Code 自动刷新显示变更
审阅后接受或 /undo
# 让 Codex 基于 diff 生成符合 Conventional Commits 的提交信息 git diff --staged | codex exec "生成 Conventional Commits 格式的提交信息"
Codex 会输出:
feat(user): 添加邮箱验证功能 - 新增 EmailVerification 组件 - 集成 sendgrid API 发送验证邮件 - 添加 verify-email 路由端点
然后直接使用:
git commit -m "$(git diff --staged | codex exec -q '生成提交信息')"
# 对比 main 分支,生成 PR 描述 git log main..HEAD --oneline | codex exec \ "基于这些提交信息,生成一个结构化的 PR 描述: ## 变更内容 ## 测试计划 ## 部署注意事项"
# 发生合并冲突时 codex "分析 git merge 冲突,解释每次冲突的原因并给出解决建议"
Codex 能理解双方的变更意图,提出合理的合并策略——保留哪边的代码,或者如何融合两者。
git log --follow -p -- src/services/user.ts | codex exec \ "分析这个文件的变更历史,总结: 1. 哪些模块变动最频繁(可能需要重构) 2. 最近引入的潜在技术债务 3. 未覆盖的边缘情况"
将 Codex 嵌入 Git Hooks,实现自动化检查:
# .git/hooks/pre-commit #!/bin/bash echo "🤖 Codex 审查中..." git diff --cached | codex exec --yes \ "检查暂存的代码变更: 1. 是否有硬编码的密钥 2. 是否有 console.log / debug 语句 3. 是否有明显 bug 如果发现问题,返回非零退出码"
codex "帮助我完成交互式 rebase,策略: - fixup: 'WIP', 'tmp', 'fix typo' 类的提交 - reword: 描述不清晰的提交信息按 Conventional Commits 重写 - 保持功能提交的独立性"
# 创建 Issue codex "根据当前分支的变更,用 gh 命令创建一个 issue" # 创建 PR codex exec --yes \ "用 gh pr create 创建 PR: --title 基于提交历史生成 --body 包含变更摘要和测试说明 --base main"
Codex 可以跨仓库工作:
# 同时分析前后端两个仓库 cd ~/projects codex "分析 frontend/ 和 backend/ 两个项目的 API 契约是否匹配:\n 1. 检查 frontend/ 中的 API 调用 2. 检查 backend/ 中的路由定义 3. 列出不匹配的地方"
# 审查当前工作区的所有未提交变更 git diff | codex exec \ "审查这些代码变更,按严重程度分级: 🔴 阻塞(必须修改) 🟡 建议(最好修改) 🟢 表扬(写得好的地方) 📝 备注(值得讨论)"
在 AGENTS.md 中定义审查标准:
## Code Review 规则 - 函数超过 50 行 → 🔴 必须拆分 - 嵌套层级超过 4 层 → 🟡 建议扁平化 - 硬编码字符串 → 🔴 必须提取为常量 - 未处理 Promise rejection → 🔴 必须添加 .catch() - 使用 any 类型 → 🟡 建议替换为具体类型
然后审查时会自动应用这些规则。
Codex + VS Code + Git 是 AI 时代的编程铁三角。编辑器让你直观地看到代码,版本控制保障每一步可追溯,Codex 负责生成和分析。三者协作下,你从"写代码的人"变成了"审阅代码的人"——效率翻倍,质量不减。