dsh-workspace-tree:DSH 工作区树

DSH Web 的左侧栏「工作区」原版功能较为单一,难以满足对目录层级和会话环境隔离的精细化管理需求。dsh-workspace-tree 插件通过重做左侧栏,将「工作区」变为文件系统树双模式,通过目录强绑定实现会话环境隔离。

插件介绍

这是 liceses 维护的客户端插件,核心目标是目录强绑定——会话的 cwd 就是它所在的目录,从而实现真正的环境隔离。插件通过双模式渲染,兼顾文件系统浏览与会话管理。

核心功能

  1. 双模式

    • 文件夹模式:显示完整文件系统目录树,工作区节点带会话计数。支持 Hover 操作:新建会话(自动注册工作区,cwd = 目录)、添加为工作区。
    • 工作区模式:只显示工作区节点,按目录层级嵌套。用于管理会话(重命名/分叉/归档)和工作区(重命名/删除)。
  2. 搜索过滤

    • 在模式切换按钮与「新建会话」之间提供搜索框。
    • 支持会话标题或文件夹名过滤,不区分大小写子串。
    • 工作区模式:隐藏不匹配项,命中组强制展开;文件夹模式:按名字或后代会话是否有匹配剪枝目录树,命中的工作区节点下内联列出会话。
  3. 交互与状态

    • 拖拽排序:支持拖拽调整顺序。
    • 状态透传:会话的运行状态(如绿色完成点、运行矩阵动画、琥珀点)保留。
    • 记忆功能:展开状态、模式选择均通过 localStorage 记忆。

安装与启用

通过插件命令安装:

dsh plugin add .

或通过 dsh-super-injector 在运行时注入(免重启):

dev_inject_plugin {"dir": "D:/developing/DSH-plugin/dsh-workspace-tree"}

典型用法

  • 浏览与新建:在文件夹模式下,鼠标悬停在任意目录上,点击「+新建会话」,该会话的 cwd 即为当前目录,并自动注册为工作区。
  • 过滤管理:在搜索框输入关键词,实时过滤会话或文件夹。清空搜索后,会自动还原之前的折叠/展开状态。
  • 会话管理:切换到工作区模式,可以重命名会话、分叉会话或归档,也可以对工作区本身进行重命名或删除。

兼容性与注意事项

  • 优先级:以 priority: -1 运行,替换官方浏览器(shadowing 升序、最低渲染)。
  • 冲突处理:不声明 children slot 以避免与官方 sidebar.workspaces.directoryFlow 冲突。
  • 数据残留:卸载后无残留数据(零持久化),官方浏览器会自动恢复。

结尾

该插件通过双模式树形结构解决了 DSH Web 工作区管理混乱的问题,适合需要严格目录隔离与精细会话管理的开发者。更多细节可查阅插件目录或源码。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜