推进开源AI编辑计划第二阶段,将智能补全代码功能开源,直接增强编辑器能力。
2025年11月6日,VS Code团队
在5月份,我们宣布了将VS Code打造成开源AI编辑器的初步计划。到了6月份,我们通过开源GitHub Copilot Chat扩展实现了第一个里程碑。
虽然聊天功能是一个重大进步,但我们的AI功能中仍有一个重要部分:当你键入时出现的内联建议。今天,我们在这段旅程中到达了下一个里程碑:内联建议现在已经开源了。
在过去的几年里,VS Code中的GitHub Copilot被分散在两个扩展中:GitHub Copilot扩展(用于幽灵文本建议)和GitHub Copilot Chat扩展(用于聊天和下一编辑建议)。我们正在朝着在单个VS Code扩展中提供所有Copilot功能的目标努力:Copilot Chat。
为了实现这一点,我们现在正在测试禁用Copilot扩展,由Copilot Chat提供所有内联建议。我们已经将绝大多数功能移植到聊天扩展中,因此单个扩展体验的渐进推出对所有人来说应该感觉一致且透明。
你的体验不应该有任何变化。你将继续在键入时获得相同的智能代码建议,加上你已经在使用的所有聊天和代理模式功能。如果遇到任何问题,请报告issue,或者在需要时查看如何使用之前的体验。
作为此重构的一部分,GitHub Copilot扩展将在2026年初被弃用,这意味着它将从VS Code Marketplace中移除。
我们也简化了术语表述:现在用内联建议来指代所有在你键入时显示的AI生成代码建议(包括幽灵文本和下一编辑建议)。我们继续致力于统一实际的产品体验,包括不同类型建议的UX和时机。
在vscode-copilot-chat存储库中,内联建议代码现在已可用,你可以探索和贡献它们的工作原理:
"Typing-as-suggested"检测 - 当你键入时,扩展首先检查你是否遵循之前的建议,如果是,可以继续显示它而无需发出新请求
缓存 - 如果不是按照建议键入,扩展会检查是否可以复用缓存的建议来提升性能
复用进行中的请求 - 如果没有可用的缓存建议,扩展会检查是否存在来自上一次按键但尚未完成流式返回的进行中LLM请求。由于这个进行中的请求很可能与当前请求相似,扩展会复用它,而不是发出新请求并取消进行中的请求,这大幅提升了性能
Prompt构造 - 如果无法复用进行中的请求,扩展会从你的当前文件、打开的文件和工作区收集相关上下文,然后将其格式化为发送给LLM的prompt
模型推理 - 扩展从多个提供者请求内联建议:当前光标位置的幽灵文本建议,以及预测你接下来可能编辑位置的下一编辑建议。当可用时,光标处的幽灵文本建议被优先使用;否则使用下一编辑建议
后处理 - 原始模型输出会被细化,以确保它们符合你的代码风格、缩进和语法
多行智能 - 扩展根据置信度和上下文决定是显示单行还是多行
除了合并为单个扩展外,这次重构还为内联建议带来了技术改进:
降低延迟 - 我们修复了网络问题,优化了建议的传递方式,使聊天扩展能够更快地提供幽灵文本
质量验证 - 我们进行了大规模实验,确保延迟和建议质量都没有回归
与所有更新一样,尽管我们尽了最大努力,仍然有可能遗漏了什么!如果你在统一扩展体验中遇到任何问题,可以通过取消勾选统一设置来临时恢复到之前的两个扩展行为:
我们OSS之旅的下一阶段是将Copilot Chat扩展中的一些AI功能和组件重构到VS Code核心中。我们很高兴能与社区一起继续这段旅程,共同塑造作为开源AI编辑器的开发未来。
我们将继续积极改进内联建议体验 - 如往常一样,你可以在我们的迭代计划中跟踪最新进展:
我们欢迎你的反馈和贡献。欢迎提交pull request和提报issue。