什么是 GitHub Copilot 编辑功能?

GitHub Copilot Edits 是 GitHub Copilot Chat 的一项功能,旨在帮助你更高效地循环访问多个文件。 此功能在 Visual Studio 2022 版本 17.13 及更高版本中以及 Visual Studio 2026 中提供。

提示

有关 Copilot 运行命令、修复生成错误和独立迭代的自治多文件编辑,请参阅 GitHub Copilot 代理模式

Copilot Edits 结合了聊天的对话流和内联审核体验。 这能带来以下好处:

  • 清晰预览:通过受影响文件和建议更改摘要,准确了解要修改的内容。
  • 随流查看:直接在编辑器中以内联方式查看代码差异。 使用Tab键接受单个更改或Alt+Delete拒绝单个更改,或者一次性应用或取消所有更改。
  • 自信地迭代:使用检查点重新审视代码文件的早期版本,或随时尝试不同的方法以激发新的想法。

先决条件

何时使用 Copilot 编辑还是 Copilot 聊天

功能性 副驾驶聊天 Copilot Edits
主要用例 用于了解编程概念、提出有关代码的问题以及生成代码的常规用途对话界面。 专注于多文件编辑的界面,包含代码评审、文件内预览和方便回滚的功能,以提升多个文件间代码迭代的效率。
预览建议的代码 手动将每个代码块应用于解决方案中的每个文件,以评估代码差异。 自动应用每个代码文件中的建议代码变更,以便更轻松地理解建议的更改。
代码评审体验 一次性接受或拒绝文件中的所有更改。 接受或拒绝文件中的各个代码块。
版本控制 可以使用现有版本控制。 添加回滚体验以将已编辑的文件重置为以前的状态。 跟踪对文件所做的所有更改(建议、接受、消除和手动编辑)。 这些检查点将一直保留到关闭 Visual Studio 之前。

Copilot 编辑中的活动

启动 Copilot 编辑线程

  1. 选择 查看>GitHub Copilot 聊天 以打开 GitHub Copilot 聊天。 还可以从 GitHub Copilot 状态图标打开它。

  2. 选择“ 创建新的编辑会话”。

  3. 请输入一个自然语言的聊天提示,关于您希望进行的特定编辑。

    为了帮助 Copilot 编辑提供更好的代码建议,还可以将相关上下文添加到提示中。 通过键入来引用文件、解决方案、错误或者符号的#。 或 附加图像 以提供其他上下文。

动画屏幕截图,显示启动 Copilot 编辑线程并获取响应。

提示

建议一次请求一次提交一项更改。 可以分解问题越多,结果就越好。

接受或拒绝更改

在 Copilot 编辑提出代码迭代后,可以在代码文件中预览这些建议。 然后,可以接受建议的更改以确认这些更改。

查看每个建议的更改

  1. 选择文件名。 文件打开,建议的更改在代码编辑器中显示为差异。

  2. 使用 Tab 键接受建议、 Alt+Delete 以拒绝建议,或 F8 转到下一个建议。

    如果接受或拒绝某个建议,光标会自动移动到下一个建议。

动态图像截图,展示如何对文件进行编辑并按段落接受更改。

接受文件中所有建议的更改

选中文件名旁边的复选框,接受特定于文件的所有建议更改。

显示接受对特定文件的编辑的动画屏幕截图。

接受所有文件中所有建议的更改

选择“全部接受”以接受所有有更改的文件中的建议代码更改。 包含建议更改的文件显示为粗体。

动画屏幕截图,显示接受对所有文件的所有编辑。

查看摘要视图中的所有更改

从 Visual Studio 2026 18.6 版本开始,当 Copilot 编辑多个文件时,你可以在单一摘要视图中查看所有更改,而不必在各个文件之间逐一切换。

  1. Copilot完成编辑后,选择Copilot 对话助手工作集中的打开更改摘要按钮。

    显示 Copilot 对话助手 工作集中的“打开更改摘要”按钮的屏幕截图。

  2. 此时会打开一个选项卡,其中显示所有已更改的文件及其差异。

    多文件摘要差异视图的屏幕截图,其中显示了具有内联差异和接受/撤消控件的多个文件。

可以在不同粒度级别接受或撤消更改:

  • 同时应用于所有文件,方法是使用全局接受/撤销控件
  • 按文件分别使用每个文件标题旁边的控件
  • 使用内联的接受/撤销按钮,按单个差异块进行操作

使用左上角的控件可以:

  • 折叠所有文件内容 ,以仅查看文件标头以获取快速概述
  • 使用下一个和上一个按钮在差异区块之间导航以快速浏览更改

还可以选择任何文件以单独打开它,并查看其完整上下文。

还原编辑

还原到原始状态

当你查看文件更改时,你可能会接受或拒绝你不希望的代码建议。 如果是,请选择 “重置更改 ”以在生成迭代之前将列出的文件重置为其状态。

显示在任何编辑之前将文件还原为原始状态的屏幕截图。

重置更改会同时重置您对文件进行的任何手动更改。 弹出对话框在还原文件状态之前确认操作。

还原到以前的迭代

可以随时选择“在上一次迭代时 重置为迭代 ”,以重置对列出的文件所做的所有建议和手动更改。 弹出对话框在还原文件状态之前确认操作。

显示将文件还原到上一次迭代的屏幕截图。