作者:@Isidor Nikolic
原文:https://code.visualstudio.com/blogs/2024/11/12/introducing-copilot-edits
Copilot Edits 是一个预览功能,为 VS Code 中使用 Copilot 的全新方式。结合了 Copilot 聊天和内联聊天的优势,提供跨多个文件进行内联更改的对话式工作流程。它旨在通过迭代的方式帮助用户高效地进行代码编辑。
Copilot Edits 与 Copilot 的其他功能有何不同?
在过去,你可以在 VS Code 中通过两种独立的方式使用 GitHub Copilot。你可以使用补全或内联聊天功能修改编辑器中的代码。或者,可以使用 Copilot 在聊天视图中询问有关代码的问题。Copilot Edits 是一种全新的 VS Code 中使用 Copilot 的方式。它结合了聊天和内联聊天的优点:对话流程以及跨你管理的一组文件进行内联更改的能力。
重要功能和信息
1、多文件迭代编辑
在 Copilot Edits 中,可以指定一组要编辑的文件,然后使用自然语言询问 Copilot 你需要什么。Copilot Edits 会使用专为快速迭代而设计的 UI,在你的工作区中跨多个文件进行内联更改。你可以在审查建议的更改、接受有效的更改并通过后续询问进行迭代时保持代码的流畅性。
2、用户掌控
有一个新的 UI 概念 - 工作集 - 可以让你控制并定义需要应用编辑的文件。你还可以通过拖放文件或编辑器选项卡,或按 #
键将文件显式添加到工作集中。
Copilot Edits 会自动将你跨编辑器组的活动编辑器添加到工作集中。工作集以及撤消和重做功能使你可以精确控制更改,并允许你准确决定在何处以及如何应用更改。Copilot Edits 会在你的代码中直接显示生成的编辑,并为你提供代码审查流程,你可以在其中接受或拒绝每个 AI 生成的编辑。Copilot Edits 不会在工作集之外进行更改 - 唯一的例外是当它建议创建新文件时。
迭代式改进
Copilot Edits 并非依赖于一个永远不会出错的模型,而是通过用户控制、审查和迭代来实现高效编辑。用户可以接受或拒绝建议的更改,并通过后续指令进行迭代,直到找到合适的解决方案。
语音交互
使用语音与 Copilot Edits 进行交互是一种自然体验。通过语音指令,用户可以流畅地进行对话式编辑,就像与一位领域专家进行结对编程一样。
3、双模型架构
Copilot Edits 利用双模型架构来提高编辑效率和准确性。首先,基础语言模型会考虑 Edits 会话的完整上下文,以生成初始编辑建议。你可以在以下基础语言模型之间选择你喜欢的模型:GPT-4o、o1-preview、o1-mini 和 Claude 3.5 Sonnet。为了获得高效的体验,团队开发了一个推测解码端点,针对文件中更改的快速应用进行了优化。基础模型提出的编辑将发送到推测解码端点,然后该端点将在编辑器中内联提出这些更改。推测解码端点比常规模型更快,但团队知道它可以更快,并且正在努力改进这一点,敬请期待。
适用范围广泛
Copilot Edits 适用于不同技能水平的用户。产品经理可以使用它快速迭代早期想法,而经验丰富的工程师可以用它轻松地跨多个文件进行复杂的重构。
未来计划
目前 Copilot Edits 仍处于预览阶段,提供给所有 GitHub Copilot 用户使用。团队计划改进应用更改推测解码端点的性能,通过保留上下文支持从 Copilot Chat 过渡到 Copilot Edits,向工作集建议文件,以及允许撤消建议的块。如果你想成为第一批使用这些改进的人,请确保使用 VS Code Insiders 和 GitHub Copilot Chat 扩展的预发布版本。
总结
Copilot Edits 是一个强大的代码编辑工具,它将 AI 的力量与用户控制和迭代式工作流程相结合,帮助用户更高效地进行代码开发。
AI 阅:了解技术资讯的一种方式。
🚀可直接通过阅读原文了解详细内容。