通过检查点和编辑请求来撤销更改
Visual Studio Code 中的聊天会话可能会导致工作区中一个或多个文件的更改。VS Code 提供了两种撤销或修订这些更改的方法
- 编辑之前的请求:修改您已经发送的提示词。VS Code 会撤销该请求及后续所有请求所做的任何更改,然后重新发送修改后的提示词。当您想要重新措辞请求并获取不同结果时,请使用此功能。
- 恢复检查点:将所有文件更改回滚到对话中的特定时间点。当您想要返回到已知良好的状态而不修改提示词时,请使用此功能。
这两个功能都补充了审阅工作流程(review workflow),在该流程中,您可以接受或拒绝单个编辑。当您想要一次性撤销整批更改时,请使用检查点和编辑功能。
编辑上一个聊天请求
对话历史记录中的每个聊天请求都是可编辑的。当您编辑之前的聊天请求时,编辑后的请求将作为新请求发送给语言模型,并且原始请求及后续请求所做的任何文件更改都将被撤销。
要编辑之前的聊天请求,请在聊天视图(Chat view)中选择要修改的请求,然后重新发送。您可以通过 chat.editRequests 设置来配置或禁用编辑体验。
使用检查点撤销文件更改
聊天检查点提供了一种将工作区状态恢复到之前某个时间点的方法,当聊天交互导致多个文件发生更改时,此功能非常有用。
启用检查点后,VS Code 会在处理每个聊天请求之前自动创建受影响文件的快照。这意味着您对话中的每个聊天请求都有一个可以恢复到的对应检查点。
要启用检查点,请配置 chat.checkpoints.enabled 设置。
恢复检查点
当您恢复检查点时,VS Code 会将工作区还原到该检查点时的状态。这意味着在该检查点之后对文件所做的所有更改都将被撤销。
要将工作区恢复到之前的检查点:
-
在聊天视图中,导航到聊天会话中之前的聊天请求。
-
将鼠标悬停在聊天请求上,然后选择恢复检查点(Restore Checkpoint)。

-
确认您想要恢复检查点并撤销该点之后所做的任何文件更改。
注意:该聊天请求将从对话历史记录中删除,工作区文件将恢复到检查点时的状态。
恢复后的重做
恢复到之前的检查点后,您可以重做已被撤销的更改。如果您不小心恢复到了某个检查点,此功能可能会很有用。
要恢复检查点后重做更改,请在聊天视图中选择重做(Redo)。

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

从检查点分支
您可以从检查点对对话进行分支,以创建一个新的独立会话,其中包含到该点为止的对话。当您想要分支并探索替代方案,同时保留原始对话时,此功能非常有用。
要从检查点分支,请将鼠标悬停在聊天请求上,然后选择分支对话(Fork Conversation)按钮。了解有关分支聊天会话的更多信息。
常见问题
检查点是否取代了 Git 版本控制?
不是。检查点专为聊天会话内的快速迭代而设计,它们是临时的。它们是对 Git 的补充,而不是替代。请使用 Git 进行永久的版本控制和协作。检查点非常适合在活跃的聊天会话期间进行实验。