DSH Web 的左侧栏「工作区」原版功能较为单一,难以满足对目录层级和会话环境隔离的精细化管理需求。dsh-workspace-tree 插件通过重做左侧栏,将「工作区」变为文件系统树双模式,通过目录强绑定实现会话环境隔离。
插件介绍¶
这是 liceses 维护的客户端插件,核心目标是目录强绑定——会话的 cwd 就是它所在的目录,从而实现真正的环境隔离。插件通过双模式渲染,兼顾文件系统浏览与会话管理。
核心功能¶
-
双模式
- 文件夹模式:显示完整文件系统目录树,工作区节点带会话计数。支持 Hover 操作:新建会话(自动注册工作区,
cwd= 目录)、添加为工作区。 - 工作区模式:只显示工作区节点,按目录层级嵌套。用于管理会话(重命名/分叉/归档)和工作区(重命名/删除)。
- 文件夹模式:显示完整文件系统目录树,工作区节点带会话计数。支持 Hover 操作:新建会话(自动注册工作区,
-
搜索过滤
- 在模式切换按钮与「新建会话」之间提供搜索框。
- 支持会话标题或文件夹名过滤,不区分大小写子串。
- 工作区模式:隐藏不匹配项,命中组强制展开;文件夹模式:按名字或后代会话是否有匹配剪枝目录树,命中的工作区节点下内联列出会话。
-
交互与状态
- 拖拽排序:支持拖拽调整顺序。
- 状态透传:会话的运行状态(如绿色完成点、运行矩阵动画、琥珀点)保留。
- 记忆功能:展开状态、模式选择均通过
localStorage记忆。
安装与启用¶
通过插件命令安装:
dsh plugin add .
或通过 dsh-super-injector 在运行时注入(免重启):
dev_inject_plugin {"dir": "D:/developing/DSH-plugin/dsh-workspace-tree"}
典型用法¶
- 浏览与新建:在文件夹模式下,鼠标悬停在任意目录上,点击「+新建会话」,该会话的
cwd即为当前目录,并自动注册为工作区。 - 过滤管理:在搜索框输入关键词,实时过滤会话或文件夹。清空搜索后,会自动还原之前的折叠/展开状态。
- 会话管理:切换到工作区模式,可以重命名会话、分叉会话或归档,也可以对工作区本身进行重命名或删除。
兼容性与注意事项¶
- 优先级:以
priority: -1运行,替换官方浏览器(shadowing 升序、最低渲染)。 - 冲突处理:不声明
childrenslot 以避免与官方sidebar.workspaces.directoryFlow冲突。 - 数据残留:卸载后无残留数据(零持久化),官方浏览器会自动恢复。
结尾¶
该插件通过双模式树形结构解决了 DSH Web 工作区管理混乱的问题,适合需要严格目录隔离与精细会话管理的开发者。更多细节可查阅插件目录或源码。