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 工作區管理混亂的問題,適合需要嚴格目錄隔離與精細會話管理的開發者。更多細節可查閱插件目錄或源碼。