使用 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 原有高頻操作?