VS Code 的聊天窗口终于能 搜索 了!

发布时间:2026/10/25 4:18:32
VS Code 的聊天窗口终于能 搜索 了! 你有没有在 VS Code 的聊天窗口Chat里试图按CtrlF找东西然后发现——啥也没发生对一直以来VS Code 的聊天窗口不支持原生的查找功能。你想在对话记录里找某个关键词要么靠肉眼扫描要么只能把内容复制到编辑器里再搜。反而zed在很早就支持这功能了。这个问题终于在新版本中被解决了。但真正让我觉得有意思的不是“他们加了个查找框”而是他们为了加这个查找框到底踩了多少坑。看起来简单做起来一点都不简单vscode干的事情表面上看就是给聊天窗口加了个CtrlF。但仔细看代码改动你会发现这玩意儿比想象中复杂得多。聊天窗口不是普通文本它是一堆混合内容的组合体Markdown 文本代码块链接引用折叠的思考过程Reasoning流式输出的内容如果直接对 DOM 做全文搜索你可能会搜到代码块里的内容但高亮又没法正确标记位置。或者搜到折叠内容里的文字但用户根本看不到那段内容。又或者正则表达式太复杂直接卡死渲染进程。几个让人头大的问题问题一折叠内容怎么办聊天窗口里有很多折叠的思考过程Reasoning它们默认是折叠的。如果你能搜到折叠内容里的文字但用户看不到那这个查找就没意义。所以实现里把 Reasoning 内容排除在了搜索范围之外——虽然理论上它能搜到但无法定位干脆不搜。问题二代码块怎么处理代码块在聊天窗口里是用 Monaco 编辑器渲染的不是普通 DOM。如果直接把代码块里的内容当作纯文本索引高亮逻辑就会出问题——因为它要同时处理 DOM 高亮和编辑器内高亮。实现里专门处理了这种情况把代码块里的匹配项单独标记用编辑器装饰decoration而不是 DOM 高亮来显示。问题三性能怎么保证聊天窗口可能有上千行内容如果每次搜索都要重新扫描整个 DOM会很卡。实现里用了分段索引transcript indexing把内容分块只搜索可见部分和必要的折叠部分。同时为了防止卡死还对匹配数量做了上限控制MAX_FIND_MATCHES避免极端情况下的性能问题。虽然vscode面临的问题很多但是使用却很简单方式和vscode之前的全局搜索几乎一模一样。最后很多人可能觉得“加个 CtrlF 有什么好说的”但正是这种看起来“简单”的功能往往是最能体现工程质量的。这个 新特性涵盖的场景包括普通文本搜索代码块内的搜索折叠内容的处理流式输出时的搜索正则表达式搜索高亮定位的准确性它不只是把浏览器原生 CtrlF 套了一层壳而是为聊天窗口这个特殊环境重新实现了一套查找系统。现在你在聊天窗口、聊天编辑器Chat Editor、甚至是 Agent 窗口里都可以用CtrlF来搜索对话记录了。这个功能现在已经合入主分支你可以在下一个 VS Code 版本或者 Insiders 版本里体验它了。以后在聊天窗口里找东西再也不用复制到编辑器里搜了——虽然你可能花了三秒钟才意识到这个变化。但下一秒你会发现它已经在悄悄工作了。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询