通过检查点和编辑请求还原更改

Visual Studio Code 中的聊天会话可能会导致工作区中的一个或多个文件发生变化。VS Code 提供了两种方式来撤销或修改这些更改:

  • 编辑之前的请求:修改你已经发送的提示符。VS Code 会回退该请求及所有后续请求所做的更改,然后重新发送已编辑的提示符。当你想重新表述请求并获得不同的结果时,可以使用这个方法。
  • 恢复检查点:将所有文件更改回滚到对话中的某个特定点。当你想回到已知良好状态而不修改提示时,可以使用这个。

这两个功能都补充了审核流程,你可以接受或拒绝单个编辑。想一次撤销整批更改时,使用检查点和编辑。

编辑之前的聊天请求

你对话历史中的每个聊天请求都可以编辑。当你编辑之前的聊天请求时,编辑后的请求会作为新请求发送到语言模型,原始请求和后续请求所做的任何文件更改都会被恢复。

要编辑之前的聊天请求,请在聊天视图中选择该请求进行修改,然后重新发送。你可以配置或禁用编辑体验,比如

chat.edit请求
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。

使用检查点来还原文件更改

聊天检查点提供了一种将工作区状态恢复到之前时间点的方法,当聊天交互导致多个文件发生变化时非常有用。

启用检查点后,VS Code 会自动生成受影响文件的快照,然后才处理每个聊天请求。这意味着你对话中的每个聊天请求都有一个对应的检查点,你可以恢复到那里。

要启用检查点,请配置

chat.checkpoints.enabled
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。

恢复检查点

当你恢复检查点时,VS Code 会将工作区恢复到检查点发生时的状态。这意味着在该检查点之后对文件所做的所有更改都会被撤销。

要将工作区恢复到之前的检查点:

  1. 在聊天视图中,导航到聊天会话中之前的聊天请求。

  2. 将鼠标悬停在聊天请求上,选择恢复检查点

    聊天视图的截图,显示聊天视图中的恢复检查点作。

  3. 确认你想恢复检查点并撤销之后的文件更改。

    注意聊天请求已从对话历史中移除,工作区文件恢复到检查点时的状态。

恢复后重做

恢复到之前的检查点后,你可以重新做那些被撤销的更改。如果你不小心恢复到检查点,这可能会很有用。

要在恢复检查点后重新做更改,请在聊天视图中选择“重做”。

聊天视图的截图,显示在将检查点恢复到之前状态后,重做按钮可以重新做更改。

查看检查点中的文件变更

为了帮助你理解每个聊天请求的影响,并更容易决定返回哪个检查点,请启用

chat.checkpoints.showFileChanges
  • 在VS代码中打开
  • 在VS Code Insiders中开放
环境。该列表显示每个聊天请求结束时修改的文件列表,以及每个文件中新增和删除的行数。

聊天视图截图,显示聊天请求结束时文件的更改。

常见问题解答

检查点能取代Git版本控制吗?

不。检查点设计用于聊天会话中的快速迭代,且是临时的。它们补充了Git,但不能取代它。使用 Git 进行永久版本控制和协作。检查点非常适合在活跃聊天会话中进行实验。