Markdown 版本
AI-translated from English; not yet reviewed by a fluent editor.
# 清理不活跃的 VS Code 代理工作树,同时保留会话
> 一份基于文档的指南,介绍 VS Code 1.141 手动清理工作树的功能,包括默认选择、安全措施、恢复方式以及单独的预览版自动清理。
By BIG CHANGE Editorial
Published: 2026-10-08T06:14:55.344Z
Updated: 2026-10-08T06:14:55.344Z
Canonical: https://bigchange.ai/blog/vscode-agent-worktree-cleanup-guide

AI-generated conceptual illustration by BIG CHANGE; no VS Code interface or measured result is depicted.
2026 年 10 月 7 日发布的 Visual Studio Code 1.141 Stable 新增了一个编辑器,用于清理工作树隔离的代理会话。如果旧会话在磁盘上留下了本地工作树, `Chat: Open Worktree Cleanup` 该编辑器会显示符合条件的会话以及每个工作树的估算大小。你可以选择要删除的工作树。本指南依据 [Microsoft 的发布说明](https://code.visualstudio.com/updates/v1_141) 和 [会话管理文档](https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions);BIG CHANGE 没有执行清理,也没有测量存储空间节省量。
## 确认前先检查已选中的工作树
1. 在 VS Code 1.141 中打开命令面板并运行 `Chat: Open Worktree Cleanup`。
2. 选择不活跃时长筛选条件:7、15、30、60 或 90 天。这决定哪些会话符合条件;它不是自动删除计时器。
3. 查看每个会话及其工作树的估算大小。符合条件的工作树 **默认处于选中状态**。取消选择任何想保留的会话,包括尚未检查其分支或文件的工作。
4. 只对剩余的选中项确认清理。
VS Code 会将每个选中的会话标记为已完成,并安排删除其工作树。删除工作树之前,它会先将未提交的更改提交到该会话的分支。如果无法保留更改或删除工作树,工作树就会留在原处。会话和分支历史仍可使用。可在 Agents 窗口中通过 **Done** 筛选器找到会话(或在 Chat 视图中通过 **Archived** 筛选器找到),然后恢复会话以从分支重新创建工作树。文档描述了这种保留行为,但并未保证每个符合条件的工作树都会被删除,也未承诺能回收特定数量的磁盘空间。
清理编辑器不会显示活动中、运行中、等待输入或已固定的会话。它也会排除已完成、已存档、未命名和处于错误状态的会话,超过所选时长阈值的新会话,以及 VS Code 无法测量大小的工作树。因此,会话未出现在此编辑器中,并不能证明其工作树已不存在。
## 将清理与删除会话区分开来
手动清理工作树会保留会话和分支。 **Delete** 是另一项操作:VS Code 文档指出,删除会话是永久操作且无法撤销。对于 Copilot 会话,删除还会移除关联工作树,但需考虑共享工作树的行为。文档提醒,若未提交文件仅存在于被移除的工作树中,这些文件可能会丢失。要使用文档所述可恢复的工作树路径,请使用清理编辑器,并在选择前检查需要保留的工作。
## 建议与预览版自动清理
可选的 `chat.agentSessions.sessionStorageCleanupSuggestion.enabled` 设置会在不活跃工作树占用至少 5 GiB 或有 20 个工作树符合条件时,在 Agents 窗口显示建议。该建议会打开同一个检查编辑器,但不会自行删除工作树。你可以在当前窗口关闭建议、选择 **Don't Show Again**,或运行 `Chat: Disable Session Storage Cleanup Suggestions`。
VS Code 还将 **自动会话清理** 列为预览功能。相关的两个设置默认关闭。 `chat.agentSessions.autoMarkAsDoneMergedSessionsAfterDays` 用于设置将符合条件的 Agent Host 会话标记为已完成前的不活跃时长。 `chat.agentSessions.autoDeleteMarkedAsDoneMergedSessionsAfterDays` 用于设置 VS Code 自动标记为已完成的会话在永久删除前的独立宽限期。两项设置均接受正整数天数; `0` 会禁用相应阶段。VS Code 建议设为 `15` 天,但这只是设置建议,并非手动编辑器的 7/15/30/60/90 天筛选条件。
要使用预览版自动清理,会话必须不在处理中、超过配置的最后修改时长、至少关联一个已合并的拉取请求,而且没有相关的未关闭拉取请求。外部会话不包含在内。启用设置后,VS Code 会在启动时以及每小时检查一次。用户自行标记为已完成的会话不会通过此路径自动删除;恢复自动完成的会话会取消其删除资格。自动清理要移除工作树,分支必须跟踪上游,且不能有待推送提交或未提交更改。Git 状态未知或任一条件不满足时,工作树会保留。VS Code 表示,此流程不会强制移除工作树。
如果你想检查大小并自行选择旧工作树,手动编辑器才是相应方式。预览版设置针对范围更窄的已合并 PR 生命周期,并最终可能删除符合条件的会话。VS Code 在这些文档中没有列出清理功能的额外费用。实际释放的空间取决于符合条件并最终被移除的工作树。
## 重大变化
- 现在,使用工作树隔离代理会话的开发人员可以在 VS Code 1.141 中查看每个符合条件的不活跃工作树的估算大小,并选择要清理的项目。
- 手动清理会将选中会话标记为已完成,保留其分支历史,并在移除工作树前提交未提交的更改。若无法保留更改或移除工作树,它就会留在原处;恢复会话则会重新创建工作树。
- 符合条件的工作树默认已选中。确认前请查看清单。VS Code 会排除活动中、运行中、等待输入和已固定的会话,但这些保护措施无法告诉你是否仍需要某个不活跃会话中的工作。
- 预览版自动清理遵循单独的已合并 PR 规则,并可在设定宽限期后永久删除会话。其设置默认关闭。
## 来源与延伸阅读
VS Code 1.141 发布说明确定了清理编辑器进入 Stable 版本的时间,并说明其用途。Microsoft 的 *Manage agent sessions in VS Code* 文档提供了详细筛选条件、默认选择、安全措施、恢复步骤以及独立的预览版自动化规则。这两份文档均列于下方来源部分。
## Sources
- [Visual Studio Code 1.141 发布说明](https://code.visualstudio.com/updates/v1_141) — Stable 版本发布日期及手动清理工作树的公告。
- [Manage agent sessions in VS Code](https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions) — 手动筛选、选择、保留、排除、恢复、建议和预览版自动清理。
BIG CHANGE 新闻通讯
纵览全局,按自己的节奏。
关于人工智能和机器人技术的近期报道、值得关注的变化以及可采用的实用想法。选择每日简报、每周摘要或每月视角。
于贝尔格莱德时间 09:00 发送:每日、每周一或每月第一天。确认后,您的第一期将在下一个预定发送时间送达。