使用检查点和编辑请求还原更改

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

  • 编辑之前的请求:修改您已经发送的提示词。VS Code 会还原该请求及后续所有请求所做的任何更改,然后重新发送编辑后的提示词。当您想要重新表述请求并获得不同结果时,请使用此功能。
  • 恢复检查点:将所有文件更改回滚到对话中的特定时间点。当您想要在不修改提示词的情况下返回到已知良好状态时,请使用此功能。

这两个功能都补充了代码审查工作流,在该工作流中您可以接受或拒绝单个编辑。当您想要一次性撤消整批更改时,可以使用检查点和编辑功能。

编辑上一个聊天请求

对话历史记录中的每个聊天请求都是可编辑的。当您编辑之前的聊天请求时,编辑后的请求将作为新请求发送给语言模型,并且由原始请求和后续请求所做的任何文件更改都将被还原。

要编辑之前的聊天请求,请在聊天视图中选择要修改的请求,然后重新发送。您可以使用 chat.editRequests 在 VS Code 中打开 在 VS Code Insiders 中打开 设置来配置或禁用编辑体验。

使用检查点还原文件更改

聊天检查点提供了一种将工作区状态恢复到过去某个时间点的方法,当聊天交互导致多个文件发生更改时,此功能非常有用。

启用检查点后,VS Code 会在处理每个聊天请求之前自动创建受影响文件的快照。这意味着您对话中的每个聊天请求都有一个对应的检查点,您可以恢复到该状态。

要启用检查点,请配置 chat.checkpoints.enabled 在 VS Code 中打开 在 VS Code Insiders 中打开 设置。

恢复检查点

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

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

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

  2. 将鼠标悬停在聊天请求上,然后选择恢复检查点 (Restore Checkpoint)

    Screenshot of the Chat view, showing the Restore Checkpoint action in the Chat view.

  3. 确认您要恢复检查点并撤消该时间点之后进行的所有文件更改。

    请注意,该聊天请求将从对话历史记录中删除,并且工作区文件将恢复到检查点时的状态。

恢复后的重做

恢复到之前的检查点后,您可以重做已被撤消的更改。如果您不小心恢复到了错误的检查点,此功能可能会很有用。

要在恢复检查点后重做更改,请在聊天视图中选择重做 (Redo)

Screenshot of the Chat view, showing the Redo button to redo the changes after restoring a checkpoint to a previous state.

查看检查点中的文件更改

为了帮助您了解每个聊天请求的影响,并更轻松地决定恢复到哪个检查点,请启用 chat.checkpoints.showFileChanges 在 VS Code 中打开 在 VS Code Insiders 中打开 设置。这将显示在每个聊天请求结束时修改的文件列表,以及每个文件中添加和删除的行数。

Screenshot of the Chat view, showing the file changes at the end of a chat request.

从检查点分支

您可以从检查点分支对话,创建一个新的、独立的会话,其中包含到该时间点为止的对话。当您想要通过分支探索另一种方案,同时保留原始对话时,这非常有用。

要从检查点分支,请将鼠标悬停在聊天请求上,然后选择分支对话 (Fork Conversation) 按钮。了解更多关于分支聊天会话的信息。

常见问题

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

不会。检查点专为聊天会话中的快速迭代而设计,且是临时的。它们是对 Git 的补充,而不是替代。请使用 Git 进行永久的版本控制和协作。检查点非常适合在活动聊天会话期间进行实验。

© . This site is unofficial and not affiliated with Microsoft.