Revert changes with checkpoints and editing requests
Visual Studio Code 中的聊天会话可能会导致工作区中的一个或多个文件发生更改,这可能需要手动还原。例如,您可能想要完善先前的聊天请求、尝试不同的方法或从意外更改中恢复。
本文介绍如何编辑先前的聊天请求以及如何使用检查点回滚聊天所做的文件更改。
编辑上一个聊天请求
从 VS Code 1.102 版本开始,可以使用编辑聊天请求的功能。
对话历史记录中的每个聊天请求都是可编辑的。当您编辑先前的聊天请求时,编辑后的请求将作为新请求发送给语言模型,并且原始请求和后续请求所做的任何文件更改都将恢复。
要编辑先前的聊天请求,请在“聊天”视图中选择该请求以修改并重新发送。您可以使用 chat.editRequests 设置来配置或禁用编辑体验。
使用检查点还原文件更改
检查点从 VS Code 1.103 版本开始可用。
聊天检查点提供了一种将工作区状态恢复到先前时间点的方法,当聊天交互导致多个文件发生更改时非常有用。
当启用检查点时,VS Code 会在聊天交互的关键点自动创建文件的快照,这样如果聊天请求所做的更改不符合您的预期,或者您想尝试不同的方法,您可以返回到一个已知的良好状态。
要启用检查点,请配置 chat.checkpoints.enabled 设置。
恢复检查点
当您恢复检查点时,VS Code 会将工作区恢复到该检查点时的状态。这意味着在该检查点之后对文件所做的*所有*更改都将被撤销。
要将工作区恢复到先前的检查点
-
在“聊天”视图中,导航到聊天会话中的上一个聊天请求。
-
将鼠标悬停在聊天请求上,然后选择恢复检查点。

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

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

常见问题
检查点会取代 Git 版本控制吗?
不会。检查点旨在用于聊天会话中的快速迭代,并且是临时的。它们补充了 Git,但不能取代它。使用 Git 进行永久版本控制和协作。检查点是活跃聊天会话中进行试验的理想选择。