先讲个我过去2个月经历的真实场景
上午我在 ChatGPT 里问了一个 Codex 问题,聊了十几轮,它给我理出一套重构方案。中午出门吃饭, 下午回到工位,想在 VS Code 里直接把这段对话接着往下做——结果发现,VS Code 的 Agents 窗口里,那段聊天记录不存在。
我盯着那个空白的对话框,脑子里才反应过来,原来我没有在vscode聊啊
于是我只能手动复制 ChatGPT 里的关键结论,粘贴到 VS Code 的 Codex 里,再重新描述一遍上下文。等它终于理解了我在说什么,我已经又白白浪费了几十分钟。
VS Code 团队也考虑到了这个问题
我们往往安装了多个AI工具,又claude code,codex,他们又分为CLI 和桌面端,这些工具一多起来,然后也安装了多个开发工具,比如vscode,zed,他们里面又有着多个AI工具,有时候我们就忘记了是在跟谁聊天了。
但是现在不需要担心这问题了,至少如果你使用的codex/chatgpt不需要担心了
因为现在你在 ChatGPT App 或 Codex CLI 里开的聊天,可以在 VS Code 的 Agents 窗口里接着聊,历史记录 无缝给你同步了过来。
反过来也行——在 VS Code 里聊到一半,切回 ChatGPT App 或 Codex CLI,还是同一个对话。
前提是你开着 Codex,并且打开了Created Externally的会话视图。这样在 ChatGPT 或 Codex CLI 里创建、更新的聊天,几秒钟内就会出现在 VS Code 里,不用重载窗口。
一个容易被忽略的细节
这个功能有个限制,但限制得很合理:同一时间,只有一个应用能往这个聊天里发消息。
如果你在 VS Code 里想发消息,但 ChatGPT 那边还开着同一个聊天,VS Code 会弹一条横幅告诉你:This chat is open in another app,然后解释为什么发不出去。解决办法也很简单:把 ChatGPT 完全退出,或者关掉 Codex CLI。
这就像两个人共用一支笔——笔只有一支,谁拿着谁写。它不让你同时在两个地方写同一句话,因为那样会打架。
下面来看看效果,首先 我们已经在codex cli里面聊了几次了
可以通过/resume 查看之前的聊天记录,默认是按照时间倒叙排列
回到vscode的agents窗口,默认harness 只有copilot和claude
那怎么加上codex呢?
只需要勾选上如下配置:codex agent enabled
这个时候vscode会自动下载codex agent,很快下拉框就会出现codex
点击左上角的session右边的过滤按钮,就也能看到codex
点击external,可以设置查看聊天记录的时间范围,最近是5天左右
然后左边的session下面会多出External目录,展示codex的聊天记录
这个功能还带了一个“续命”用法:你可以在模型选择器里选 Copilot 模型,用你的 GitHub Copilot 订阅继续聊。
也就是说,如果 ChatGPT 的用量到顶了,你可以切到 Copilot 模型接着干。同一个对话,换一个“大脑”继续。这比重新开一个对话、重新喂上下文要舒服得多。
因vscode它终于承认了一个现实:开发者不是只在一个应用里工作的。
你早上在手机上看,中午在 CLI 里聊,下午在 IDE 里改。如果每个应用都是一个孤岛,那你的上下文就得靠人肉搬运。VS Code 这次做的,是把“对话”从某个具体应用里解放出来,变成一个跨应用的状态。
它没有逼你“只能在我这里聊”,也没有要求你“从我开始”。它只是让你已经在聊的东西,能跟着你走。
这个功能不炫技,但它解决的是那种你每天都在忍、但从来没觉得“这是个问题”的问题。
以前我们习惯了“换个工具就重新说一遍”,就像习惯了每次换电脑都要重新配环境一样。但习惯了不代表它合理。VS Code 这次把这条隐形的墙拆了,让对话真正变成跟着人走的东西,而不是困在某个 App 里的东西。
至于那个“同一时间只能一个应用发消息”的限制——我觉得挺好。它不假装自己是无冲突的,它老老实实告诉你:笔在别人手里,你先等等。这种坦诚,比偷偷搞出两个版本的历史记录要靠谱得多。