Codex-IDE

时间:2026-07-04 08:53:42 来源:互联网

Codex的IDE扩展使用起来并非直接上手,真正的门槛藏在“找到正确的它”这一环节。名字反直觉、默认位置隐蔽,这些事先知道的要点能帮你快速绕过弯路。本文将深入解析扩展、CLI与桌面App间的差异,并逐步展示图形化界面的核心优势。

09 · IDE 扩展(VS Code 等)

封面图封面图

我先分享一段与同事上个月的真实对话。

实际上,Codex IDE扩展的第一道关卡不在于“使用”,而在于“找到正确的它”——名称违背直觉,且在Cursor中默认藏于折叠的扩展栏内。本文提前标注这些反直觉要点,并详尽解析图形界面相比CLI的真正便捷之处。

阅读本文后,你将获得:

  1. 在VS Code / Cursor / Windsurf中安装Codex扩展的完整流程,附带“搜索不到/图标找不到”的排查清单。
  2. 编辑器上下文(@file、选中代码自动喂入)的使用方法。
  3. 三档审批模式(approval mode)的详解。
  4. 模型与思考深度切换这类图形界面优势操作。
  5. 一张“扩展 vs CLI vs 桌面App该用哪个”的对照表,以及扩展独有的斜杠命令与自定义快捷键。


01 先搞清楚:扩展、CLI、桌面 App 是什么关系

“我已经会用终端里的codex和桌面App了,还需要再装扩展吗?”直接回答:扩展并非第四个独立工具,它只是为Codex CLI套上了一层编辑器界面。官方表述直白——IDE扩展“使用与Codex CLI相同的配置,共享同一份设置”。你在~/.codex/config.toml中配置的模型、沙箱和审批策略,扩展全部继承;你在CLI中登录的信息和编写的AGENTS.md,扩展同样识别。

打个比方:同一辆车,有方向盘和遥控器两套操控。CLI好比坐在驾驶座握方向盘——直接、全面、所有功能均可使用;扩展则是配套遥控器,无需进入驾驶座,在编辑器内点击几下即可操控车辆,并能在大屏幕(并排diff)上实时查看车况。发动机、油箱和行车记录系统是相同的——无论选择哪种操控方式,车辆本身不变。桌面App(先前03、07篇介绍过)则是同款车型的另一个独立外壳,适合不想使用编辑器、需要多任务并排监控的用户。

那么,何时使用哪种方式?根据实际操作经验,整理成如下对照表:

场景

CLI(终端)

IDE 扩展

桌面 App

日常主要使用VS Code / Cursor写代码

尚可

✅ 最顺畅,代码上下文即开即用

需切换窗口

编写脚本、批量自动化、通过SSH操作服务器

✅ 唯一选择

不想接触命令行、需要多任务并排监控

❌ 不推荐

一般

✅ 最舒适

查看改动diff、选中某段代码直接询问

文本diff,效果一般

✅ 原生并排diff

✅ 可视化

使用扩展未提供的全部CLI功能

✅ 功能齐全

在内置终端运行codex即可

总结:编写代码和审查改动这类涉及文件操作的任务,扩展更显顺手;需要批量执行命令或使用扩展面板未暴露的功能时,直接在编辑器的集成终端输入codex即可——其与扩展共享同一配置和登录,无缝切换。


02 安装:认准 openai.chatgpt,外加 Cursor 的「图标藏起来」坑

支持哪些编辑器、哪些系统

官方声明:Codex IDE扩展支持VS Code及其分支Cursor、Windsurf,以及VS Code Insiders。JetBrains全家桶(IntelliJ、PyCharm、WebStorm、Rider等)使用另一套独立的JetBrains集成。系统层面支持macOS、Windows和Linux;在Windows上既能使用原生Windows沙箱直接运行,也能在需要Linux环境时切换到WSL2(详见官方Windows指南)。

三种安装方式

方式一:通过扩展市场搜索安装(最稳定,但需注意搜索名称)

在编辑器中按下Cmd Shift X(Mac)或Ctrl Shift X(Windows/Linux)打开扩展视图。这里存在全篇第一个注意点:很多人习惯搜索Codex,结果却显示一堆第三方小插件,找不到官方版本。原因是官方扩展的ID是openai.chatgpt,发布者(publisher)为OpenAI。搜索CodexChatGPT均可,但务必确认发布者是OpenAI的选项再点击安装,避免误装仿冒版本。例如VS Code中搜索codex的结果展示:

VS Code 扩展市场搜 codex,认准发布者 OpenAI 的官方扩展VS Code扩展市场搜索codex,请认准发布者为OpenAI的官方扩展

方式二:通过链接直接安装

在编辑器打开状态下,点击相应链接将直接跳转至安装页面:

VS Code : vscode:extension/openai.chatgptCursor: cursor:extension/openai.chatgptWindsurf: windsurf:extension/openai.chatgpt

方式三:命令行安装(最快)

如果已安装code/cursor命令行工具,一行命令即可完成:

code --install-extension openai.chatgpt

Cursor用户将code替换为cursor即可。预期输出类似:

Installing extensions...Extension 'openai.chatgpt' was successfully installed.

安装后找不到图标?针对不同编辑器排查

官方说明:安装完成后,Codex会出现在编辑器侧边栏,VS Code中默认位于右侧。不同编辑器的表现有所差异,请对照下表进行排查:

现象

使用的编辑器

排查操作

安装后未立即看到Codex

VS Code

官方建议:重启编辑器,然后查看右侧栏

右侧栏为空/找不到入口

Cursor

Cursor的活动栏默认横排布局,折叠项会将Codex隐藏——需要将其固定(pin)出来,并调整扩展顺序

希望将Codex移回左侧主侧栏

VS Code

直接将Codex图标拖拽至左侧活动栏即可

希望在Cursor中将其移至右侧

Cursor

在设置中搜索activity bar,将其方向改为vertical,重启后拖拽至右侧,最后将方向改回horizontal

我在Cursor中曾遇到第二条问题:安装后在右上角反复查找都未看到Codex,几乎以为安装失败,后来发现它被折叠在活动栏的“更多”选项中——Cursor的横排活动栏空间有限,会将后安装的扩展收入折叠菜单,固定出来即可。VS Code用户不会遇到此问题,但Cursor用户几乎都会经历一次。

首次打开需登录

首次点击Codex面板会提示登录,可选择使用ChatGPT账号或API Key。官方特意指出:你的ChatGPT订阅已包含Codex的使用量,因此多数用户直接使用ChatGPT账号登录即可,无需额外配置API Key。各订阅方案的具体额度,请参考04篇或官方计费页面。


03 编辑器上下文:把「你说的是哪段代码」喂准

让Codex高效工作的最大障碍,是它“不清楚你指的是哪个文件或哪段代码”,从而在整个项目中盲目查找。相比CLI,扩展的最大优势在于能直接利用编辑器中的上下文信息。官方原话:当Codex获取到你打开的文件和选中的代码,你可以编写更简短的提示,获得更快、更相关的结果。

打个比方:当面指着图纸讲解,比通过电话描述更有效。跟装修师傅电话说“客厅那面墙上靠窗那块”,对方需要费力想象,容易误解;当面摊开图纸,手指一戳“这里”,一秒搞定。CLI就像打电话(需要用文字清晰描述位置),扩展则像当面指图纸(选中代码或使用@功能,位置信息直接传递)。

具体有两种方法:

第一招:@file 提及文件

在提示框中输入@后跟文件名,Codex会将相应文件作为参考。官方给出的示例为:

用 @example.tsx 当参考,给 app 加一个叫 "Resources" 的新页面,内容是 @resources.ts 里定义的资源列表

一句提示中使用了@引用两个文件——一个作为模板,一个作为数据源。Codex无需猜测具体是哪两个文件。

第二招:选中代码 + Auto Context,自动喂入

此方法比@更简便:在编辑器中直接选中一段代码,它会自动进入当前对话的上下文。扩展还提供了一个名为Auto Context(自动上下文)的开关,开启时会自动将最近打开的文件和编辑器上下文纳入——你可以使用斜杠命令/auto-context随时控制其开关(斜杠命令列表详见第06节)。

除了选中自动喂入,官方还提供了两个将上下文“钉”入对话的命令,可在命令面板中执行或绑定快捷键:

把选中的那段代码加进当前对话当上下文

我在排查一个React组件的样式bug时,最喜欢使用第二种方法:选中那段可疑的JSX,直接询问“这块为什么渲染错位”,无需输入任何文字描述位置——它两轮就定位到是父容器的flex设置问题。若使用CLI,仅用文字描述那段嵌套结构就需要花费不少时间。


04 三档审批模式:让它先聊方案,还是放手让它干

这一节是扩展中最需要弄清楚的开关。回顾02篇讨论的“沙箱+审批”机制,在CLI中两者是分开独立控制的;而在扩展中,官方将其简化为输入框下方的一个三档“审批模式(approval mode)”切换器,一键切换,无需修改配置文件。

Codex 扩展输入框下方的三档审批模式切换器Codex扩展输入框下方的三档审批模式切换器

官方定义的三档功能如下:

审批模式

Codex 的行为

适用场景

Agent(默认)

在工作目录内自动读取文件、修改文件、执行命令;仅当需要操作工作目录外或联网时,才会暂停并请求确认

日常开发的主要模式

Chat

仅进行对话和提供建议,在动手前先制定计划,不会直接修改内容

希望先讨论方案、阅读代码、进行审查,不希望被改动

Agent (Full Access)

读取、修改、执行命令、联网全部无需审批

完全信任的环境,官方原话“使用前务必谨慎”

打个比方:实习生的三种授权级别。Chat类似于“只允许出方案,动手前必须报备”;Agent类似于“桌面的工作可自行处理,但若要涉及其他部门或对外联系,需先征询意见”;Agent (Full Access)则类似于“全公司范围自由行动,对外联系也无需报备”——最后这一档的名称中包含Full Access并非虚设,官方特意提醒要“谨慎使用”。

几个实际应用中可能遇到的场景:

  1. 接手陌生项目,只想先了解整体架构:切换至Chat模式,它只会读取和提供方案,不会修改任何内容。待你心中有数后,再切换至其他模式进行操作。
  2. 日常增删改查任务:使用默认的Agent模式即可——工作区内的操作它会自行完成,若需要pip install联网或操作工作区外的文件,它会暂停并请求确认。
  3. 执行一个100%确定无害的批处理任务:临时切换至Agent (Full Access)模式,避免反复确认,但任务完成后务必切回原模式。

这里有一个我的真实教训。今年四月,为图省事,我在让Codex为一个模块批量添加日志时,长时间保持了接近完全开放的权限模式。它顺手“优化”了多个文件的import顺序,我事后花费十几分钟才理清它修改了哪些内容。从那以后,我定下一条规矩:默认保持在Agent模式,只有自己百分百确定的操作才临时升至Full Access,完成后立即降回。对于涉及多个文件的大改动,宁可先使用Chat模式让其阐述方案,在动手前就划定范围,比事后清理要高效得多。


05 切模型 + 调思考深度:贵的留给硬活

扩展将“更换模型”和“调整思考深度”操作也简化为点击几下即可完成,这两个选项均在输入框下方的切换器中。

先说模型切换。Codex默认使用官方推荐的模型(当前为GPT系列,具体型号会随版本更新,以本地切换器实际显示为准)。点击输入框下的模型切换器即可更换——不同模型各有所长,简单任务分配给轻量模型以节省额度,复杂任务分配给旗舰模型以保证质量。

再说思考深度(reasoning effort,推理强度),这在CLI篇中也曾提及。官方表示,这一设置控制“Codex在回复你之前先思考多久”,在同一个模型切换器中可选择low/medium/high三档:

打个比方:考试时为每道题分配的思考时间。low像扫一眼就作答的送分题,速度快但可能粗糙;high像压轴大题,让其多推几步、充分思考,速度慢但结果稳健。官方给出的实用建议是:从medium起步,仅在遇到真正需要深度思考的难题时再切换至high。理由明确:提高思考深度会消耗更多token,并更快触及速率限制,尤其是配合高性能模型时。

我的使用习惯与官方建议基本一致:日常任务使用medium,既快速又节省资源;只有在需要读取大量文件、跨模块推理的疑难任务时,才临时调至high。一刀切地全程使用最高档完全是浪费——你以为是在“保险起见”,实则既慢又消耗额度。

维度

切模型

调思考深度(effort)

在哪切

输入框下方切换器

同一个切换器,每个模型可单独设置

选什么

轻量/旗舰等(以本地显示为准)

low / medium / high

如何权衡

简单任务节省额度、复杂任务保证质量

越高越深,越慢越费token

我的默认

日常使用默认模型

medium,硬任务临时调至high


06 斜杠命令和云端委派:扩展里的两件趁手家伙

扩展专属的斜杠命令

在Codex聊天框中输入/,会弹出一系列斜杠命令——请注意,这套命令与你可能在旧教程中看到的/explain/fix/test不同。官方实际提供的是以下命令(用于控制Codex行为、在本地和云端之间切换、查询状态):

查当前对话的 thread ID、上下文用量、速率限制

补充说明:如果/goal未在列表中显示,是因为它需要先启用一个功能开关——在~/.codex/config.toml[features]段下设置goals = true,或直接让Codex运行codex features enable goals(具体以官方为准)。

将长任务委派到云端(实验性功能,以官方为准)

扩展提供一项便捷功能:当遇到耗时较长的大型任务时,无需占用本机资源,可直接将其发送至Codex云端运行,并能在编辑器中实时查看进度和结果。官方给出的操作步骤为:

  1. 先在ChatGPT的Codex设置中创建一个云端环境。
  2. 在扩展中选择相应环境,点击“Run in the cloud”。

它还有一个贴心的细节:你可以选择让云端从main分支开始运行(适合启动全新的想法),也可以携带本地的改动开始(适合完成进行到一半的任务)。更巧妙的是——从本地对话启动云端任务时,Codex会记住这段对话的上下文,能够接着你刚才讨论的内容继续执行;云端任务完成后,你又能将改动拉回本地,应用diff、测试并进行收尾工作。

我个人的常用搭配:小修小补的任务在扩展中直接盯着修改;“将整套测试跑一遍并修复所有失败用例”这类耗时较长的任务,使用/cloud命令提交到云端,然后去喝杯咖啡,回来就能接收结果。云端功能是第10篇的重点内容,此处你只需了解“在扩展中一键即可将任务外包出去”即可。


07 动手环节:10 分钟在 VS Code 里跑通全流程

下面从零开始完整走一遍流程,每一步都附带了“你应该看到什么”的提示,按照操作即可验证安装是否正确、功能是否会用。整个过程不依赖你已有的复杂项目,新建一个空文件夹即可。

第0步:创建一个最小练手项目,用VS Code打开

在终端中运行(Mac/Linux;Windows用户使用PowerShell,将mkdir -p替换为mkdir):

mkdir -p /codex-ide-demo && cd/codex-ide-demoprintf 'def greet(name):return "Hello " nameprint(greet("world"))' > demo.pycode .

预期结果:VS Code打开该文件夹,左侧资源管理器显示demo.py文件。(若未安装code命令行工具,请手动打开此文件夹。)

第1步:打开Codex面板并登录

VS Code安装扩展后,Codex默认位于右侧侧边栏;若未显示,请按官方建议重启编辑器(Cursor用户需记得将折叠的图标固定出来)。点击打开Codex面板,首次出现登录提示时,使用ChatGPT账号登录,在浏览器中完成授权。

预期结果:右侧出现Codex对话面板,顶部不再显示未登录提示,输入框下方可看到模型切换器和审批模式切换器。

第2步:选中代码并让它修改,查看并排diff

demo.py中选中greet函数的两行代码(确认审批模式为默认的Agent),然后在输入框中输入:

帮我把它改成用 f-string,并加上类型注解

预期结果:Codex不会反问“哪个函数”(说明选中代码的上下文已正确传递),直接给出修改——将return "Hello " name改为return f"Hello {name}",并为函数签名添加类型注解,同时以并排diff形式清晰展示增减内容。确认无误后应用修改。

第3步:切换至Chat模式,让它先出方案

点击输入框下方的审批模式切换器,切换至Chat模式,然后提出一个稍大的需求:

给这个文件加上命令行参数支持,让用户能从终端传入名字,先说说你打算怎么改

预期结果:由于处于Chat模式,Codex不会直接修改文件,而是先阐述方案(例如计划引入argparse、修改哪些部分)。确认方案可行后,再切换回Agent模式让其执行修改。

第4步:使用/status查看当前状态

在输入框中输入:

/status

预期结果:Codex列出当前对话的thread ID、上下文用量、速率限制等信息。执行至此步骤,你已体验了编辑器上下文、并排diff、审批模式切换和斜杠命令这四个核心功能。


08 顺手收藏:自定义快捷键和「切回 CLI」

给 Codex 命令绑定快捷键

Codex扩展的命令大多默认没有绑定快捷键(“新建对话”除外),但均可自行绑定。官方提供两种方式:一是点击Codex聊天框中的设置图标,选择“Keyboard shortcuts”;二是通过命令面板自行配置——

  1. 打开命令面板(Cmd Shift P/Ctrl Shift P)。
  2. 运行“Preferences: Open Keyboard Shortcuts”。
  3. 搜索Codex或特定命令ID(如chatgpt.newChat),点击铅笔图标,输入你希望使用的快捷键组合。

可绑定的命令(来自官方,已标注平台差异):

命令 ID

默认快捷键

功能说明

chatgpt.newChat

Mac: Cmd N / Win·Linux: Ctrl N

新建一个对话(thread)

chatgpt.openSidebar

无(可自绑)

打开Codex侧边栏面板

chatgpt.newCodexPanel

无(可自绑)

新建一个Codex面板

chatgpt.addToThread

无(可自绑)

将选中的代码添加到当前对话

chatgpt.addFileToThread

无(可自绑)

将整个文件添加到当前对话

chatgpt.implementTodo

无(可自绑)

让Codex处理选中的TODO注释

几个值得了解的扩展设置

扩展自身的设置项目不多,真正影响行为的功能(模型、审批、沙箱)都集中在共享的~/.codex/config.toml文件中进行修改(官方反复强调过这一点,详见02篇和配置篇)。在编辑器界面可调整的主要是体验相关选项,选出几个常用的:

扩展启动好后自动聚焦 Codex 侧边栏

想用回纯 CLI 的操作方式?

操作十分简单:在编辑器中打开集成终端(Cmd `/Ctrl `),直接输入codex即可——它会与扩展共享同一份配置和登录,扩展面板未暴露的CLI功能同样可以使用。图形化界面和命令行操作可以在同一VS Code窗口中自由切换。


09 小结

本文介绍了将Codex从终端迁移至VS Code的核心要点,总结如下:

  1. 扩展≠新工具:它使用与CLI相同的配置,共享~/.codex/config.toml和登录信息。编写代码时使用扩展,需要使用CLI专属功能时切换到集成终端即可。
  2. 安装后的第一步是“找到它”:官方扩展ID为openai.chatgpt,发布者为OpenAI;VS Code安装后重启即可在右侧找到,Cursor用户需注意将折叠的图标固定出来。
  3. 图形界面的三大优势:编辑器上下文(@file/选中代码自动喂入)、三档审批模式(Chat/Agent/Agent (Full Access))、模型与思考深度一键切换。
  4. 避免被虚假命令误导:斜杠命令应使用/status//local//cloud//review这套官方列表,而非/explain//fix;快捷键以Keyboard Shortcuts实际绑定为准。

现在,你应该能够独立安装扩展、使用@和选中代码精准传递上下文、根据任务在三档审批模式间灵活切换、利用并排diff查看修改,并了解如何通过/cloud命令将长任务一键委派至云端。熟练操作这套流程后,日常在编辑器中编写代码时便能稳定依靠这一工具。

下一篇将深入讲解云端Codex Cloud功能——本文结尾简要提及的/cloud只是初步尝试,下一篇将正式完整介绍:如何在浏览器中将任务完全外包给OpenAI的云环境、如何让它拉取你的GitHub仓库进行封闭式修改、修改后如何交付diff甚至直接提交Pull Request。请先思考:手头有哪些任务是你最希望“提交后挂起,回头收取结果”的?