登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

VS Code 1.144 怎样复用共享 worktree 目录

来源:17golang原创

时间:2026-11-07 22:52:17 462浏览 收藏

在 VS Code 的 Agents 窗口中,为已有 worktree 会话创建嵌套会话,并保留输入框上方预选的父目录,就可以让另一段对话继续使用同一个 worktree。不要选择 New Worktree;那是为新对话另外隔离文件改动的入口。

官方地址:https://code.visualstudio.com/

这里的共享指多个会话访问同一个工作目录,不是同步两个目录,也不是自动合并分支。VS Code 1.144 的发布说明介绍了嵌套会话的工作区选择;实际可用入口还取决于代理和宿主能力。以下以已有 worktree 的父会话为起点,配图均为原创界面说明图。

1. 从父会话进入并保留当前目录

在 Agents 窗口左侧找到目标父会话,先核对它使用的是要复用的 worktree。将鼠标移到父会话上,点击 +(New Nested Session),也可以从父会话右键菜单选择同名入口。

查看新对话输入框上方的文件夹选择器,保留已经预选的父会话目录。例如父目录叫 theme-demo-worktree,这里也应显示它。不要选择 No Workspace,也不要为这次复用任务点击 New Worktree。

原创Agents窗口说明图,嵌套会话的目录选择保持父worktree
图1:目录选择操作示意图,保留父会话预选的 worktree;界面为原创说明图。

确认目录名称及所在环境后再继续。如果不同位置的目录重名,展开选择器查看完整位置;分支名相同不代表物理目录相同。你不需要复制工作树或移动其中的 Git 管理文件。

2. 提交一个只读问题并确认共享目录

保持当前目录,输入一个小范围的只读问题,例如“查看当前目录的布局相关文件,列出需要关注的位置,不修改文件”,按 Enter。新对话会出现在父会话下方;它的标题和聊天记录可以独立,但使用的仍是刚才选中的工作目录。

原创会话界面说明图,两个会话显示同一worktree目录
图2:结果示意图,父会话与嵌套会话使用同名目录,但各自保留对话;不代表实际运行记录。

在左侧依次选择父会话、嵌套会话,对照两边的目录信息。它们应指向同一个 worktree。图中问题仅为读者可输入的示例,不表示本机已经执行过检查,也不展示虚构的代理输出。

如果目录不一致,先不要发送修改文件的请求。对于未提交的会话草稿,回到文件夹选择器,重新保留父目录。已经开始执行的会话如果选错目录,应先保存已有改动并厘清文件位置,不能通过删除目录来尝试恢复共享。

3. 共享目录后要注意哪些限制

目标选择文件关系
围绕同一代码现场分开讨论保留父目录对话独立,文件共享
隔离另一套实现New Worktree在单独工作目录中修改
不依赖项目的临时问题No Workspace使用自己的临时文件夹

同一目录中的会话可能同时编辑同一文件。建议明确分工,例如一个负责样式修改,另一个只读检查布局结构。独立的聊天历史不提供文件锁,也不会为每段对话创建独立的未提交改动副本。

找不到 New Nested Session 怎么办?需要使用支持多聊天的代理,父会话也不能已归档。若界面没有这个入口,先确认当前代理及窗口提供的能力,不要把其他产品中的同名按钮当作等价功能。

共享目录会共享全部聊天历史吗?不会。嵌套会话作为独立对话开始,需要旧讨论背景时,应明确提供相关上下文。目录相同不代表自动继承完整聊天内容。

另一个会话为什么也看到了改动?两者使用同一个工作目录,文件变化自然对两边可见。如果需要实现互不影响,应在开始前选择独立 worktree,重命名聊天不能隔离文件。

归档一个会话后能否手动删除 worktree?仍被其他会话使用的共享目录需要保留。先妥善保存本地改动,再通过产品提供的会话管理处理生命周期,避免手动移除仍被使用的路径。

官方说明:管理代理会话、VS Code 1.144 发布说明、Git 分支与工作树。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>