使用 IDE 命令
整理 Codex IDE extension command palette 命令,以及适合绑定快捷键的常用操作。
这一篇用 8 分钟换什么:把 Codex IDE 命令分成三类——喂上下文(addToThread / addFileToThread)、切任务空间(newChat / newCodexPanel / openSidebar)、做局部任务(implementTodo)。读完之后你会知道哪几个值得绑快捷键,哪几个保持默认。
Codex IDE extension commands 可以让你从 VS Code Command Palette(命令面板)控制 Codex,也可以绑定成 keyboard shortcuts(快捷键)。
这些命令不是 prompt 模板,而是编辑器级操作:把选区加入当前 thread、把当前文件加入 thread、新建 thread、打开 sidebar、创建 Codex panel、处理待办注释。它们的价值在于减少上下文搬运,让你在代码附近直接组织任务。
flowchart LR
Cmd["Codex IDE 命令"]
A["📥 喂上下文<br/>addToThread<br/>addFileToThread"]
B["🪟 切任务空间<br/>newChat<br/>newCodexPanel<br/>openSidebar"]
C["🛠 做局部任务<br/>implementTodo"]
Cmd --> A
Cmd --> B
Cmd --> C
A -.->|高频| KEY1["建议绑快捷键"]
B -.->|中频| KEY2["保持默认 / 自定义"]
C -.->|按团队习惯| KEY3["可选绑定"]
分配快捷键
给 Codex command 分配或修改 key binding(快捷键):
- 打开 Command Palette。macOS 用 Cmd+Shift+P,Windows / Linux 用 Ctrl+Shift+P。
- 运行 Preferences: Open Keyboard Shortcuts。
- 搜索
Codex或 command ID,例如chatgpt.newChat。 - 选择 pencil icon(铅笔图标),输入你想绑定的快捷键。
扩展命令
| Command | Default key binding | Description |
|---|---|---|
chatgpt.addToThread | - | 把 selected text range(选中文本范围)作为 context 加入当前 thread。 |
chatgpt.addFileToThread | - | 把整个文件作为 context 加入当前 thread。 |
chatgpt.newChat | macOS: Cmd+NWindows/Linux: Ctrl+N | 创建一个 new thread(新线程)。 |
chatgpt.implementTodo | - | 让 Codex 处理选中的待办注释。 |
chatgpt.newCodexPanel | - | 创建一个新的 Codex panel(面板)。 |
chatgpt.openSidebar | - | 打开 Codex sidebar panel(侧边栏面板)。 |
命令怎么用
addToThread
chatgpt.addToThread 把当前选中的代码范围加入当前 thread。
适合:
- 让 Codex 解释一段复杂函数。
- 让 Codex 基于一段错误实现做最小修复。
- 让 Codex 对一个 diff 片段给 review。
使用时不要一次选太多。更好的方式是先选关键函数、错误栈对应代码、类型定义或测试断言,再用文字说明目标。
示例任务:
这段函数在空数组时返回了错误状态。请只修改这里相关逻辑,并补一个覆盖空数组的测试。addFileToThread
chatgpt.addFileToThread 把整个文件加入当前 thread。
适合:
- 文件本身不长,且函数之间强相关。
- 你需要 Codex 理解组件、hook、测试文件的完整结构。
- 你要让 Codex 对单文件做重构建议。
不适合:
- 超长文件,尤其是包含生成代码、快照、依赖锁文件。
- 你只需要其中一个函数或一个类型定义。
- 涉及多个文件的架构问题,这时应该用
@file或让 Codex 自己检索项目。
newChat
chatgpt.newChat 创建新 thread。macOS 默认是 Cmd+N,Windows / Linux 默认是 Ctrl+N。
当任务目标、上下文范围、风险等级发生变化时,应该开新 thread。例如:
- 从“解释代码”切换到“修改代码”。
- 从一个 bug 切换到另一个 bug。
- 从本地小修切换到 cloud delegation。
继续在旧 thread 里塞无关任务,会让上下文变脏,也会让 Codex 更容易沿用不再适用的假设。
implementTodo
chatgpt.implementTodo 让 Codex 处理选中的待办注释。
适合把明确、局部、可验证的待办交给 Codex,例如:
// 待办:读取 items[0] 前先处理 empty response不适合把模糊的产品需求写成待办注释后直接交给 Codex,例如:
// 待办:make this better如果待办注释不够清楚,先补充约束:期望行为、不能改的边界、验证方式,再让 Codex 实施。
newCodexPanel
chatgpt.newCodexPanel 创建新的 Codex panel。
适合并行观察两个任务:
- 一个 panel 保持当前实现任务。
- 另一个 panel 做只读解释或方案比较。
不要用多个 panel 同时修改同一组文件。需要并行时,应该明确文件边界,否则容易产生冲突。
openSidebar
chatgpt.openSidebar 打开 Codex sidebar panel。
适合绑定成快捷键,用来快速回到 Codex 面板。它不会自动发送 prompt,也不会改变当前权限。
推荐快捷键策略
| 操作 | 推荐绑定 | 原因 |
|---|---|---|
| 打开 Codex sidebar | 绑定一个不和 IDE 冲突的快捷键 | 高频操作,减少鼠标切换 |
| Add selected text to thread | 绑定快捷键 | 选区驱动的解释、修复、review 很常见 |
| Add file to thread | 可选绑定 | 文件级任务常见,但频率低于选区 |
| New chat | 保持默认即可 | 默认键已经清楚,且新任务才需要 |
| Implement Todo | 按团队习惯决定 | 待办驱动开发团队更值得绑定 |
| New Codex panel | 不建议高频绑定 | 多 panel 容易造成上下文和文件修改冲突 |
常见工作流
解释陌生代码
- 选中关键函数。
- 执行
chatgpt.addToThread。 - 提问:这段代码输入、输出、副作用和失败模式分别是什么?
- 如果需要更多上下文,再加入调用方或测试文件。
修复一个小 bug
- 选中错误函数或失败测试。
- 执行
chatgpt.addToThread。 - 描述现象、期望行为、验证命令。
- 让 Codex 先给修改计划,再执行。
- 让 Codex 跑对应测试并解释 diff。
从待办到补丁
- 确认待办注释写得具体。
- 选中待办注释。
- 执行
chatgpt.implementTodo。 - Review Codex 的修改范围。
- 跑最小测试,必要时补测试。
多线程但不冲突
- 用
newCodexPanel开一个只读 panel 做解释或调研。 - 保持另一个 panel 专注当前修改任务。
- 不让两个 panel 同时写同一批文件。
- 合并上下文时,用人工总结,而不是直接让两个 thread 混在一起。
失败模式
| 问题 | 原因 | 处理方式 |
|---|---|---|
| 命令面板搜不到 Codex command | Extension 未加载、IDE 未重启、Codex 图标被折叠隐藏 | 重启 IDE,确认 extension 已启用 |
| 选区加入后回答仍然泛泛 | 只给了代码,没有给目标和约束 | 补充现象、期望输出、禁止改动范围 |
| 待办实施结果偏离预期 | 待办注释太抽象 | 先把待办注释改成可验证任务 |
| 多 panel 修改互相覆盖 | 两个 thread 写了同一批文件 | 每个 panel 只处理独立文件集合 |
| 快捷键冲突 | IDE 或其他 extension 已占用 | 在 Keyboard Shortcuts 中换一个组合键 |
自检清单
- 你是否至少会用
addToThread和addFileToThread精准提供上下文? - 新任务是否会用
newChat隔离旧上下文? - 待办注释是否足够具体,能让 Codex 直接验证完成状态?
- 多 panel 是否只用于独立任务或只读分析?
- 快捷键是否避免覆盖 IDE 原有高频操作?