在 DSH Web UI 中進行文件瀏覽和版本控制通常需要頻繁切換窗口或依賴外部工具。dsh-files-git 插件通過一個居中模態面板,將文件瀏覽、搜索、預覽、編輯以及 Git 操作流程集成在一起,讓開發者無需離開瀏覽器即可完成日常工作。
這是一個由 leanderli 維護的 DSH 客戶端插件。它爲當前會話的工作區目錄提供了一體化管理方案,支持 Monaco 編輯器集成、Git 狀態監控、分支切換、差異預覽以及提交歷史回滾等功能。
核心功能¶
文件瀏覽與預覽¶
插件提供懶加載的文件樹,支持雙欄文件窗格,拖動分隔條調整寬度。全工作區搜索結果扁平展示,支持搜索歷史記錄。內容預覽支持文本全量顯示(512KB 內不截斷),Markdown 可直接渲染。面板內集成了 Monaco 編輯器,支持按類型匹配語言、語法高亮及保存回寫。支持本地上傳文件、引用路徑到輸入框以及快捷操作菜單。
Git 操作¶
面板右側提供 Git 標籤,顯示當前分支、領先/落後狀態。支持拉取、推送、獲取、強推等操作,並實時展示命令輸出。分支選擇器支持本地/遠程分支分組管理與檢出。變更列表按衝突、暫存、未暫存分組,支持行內差異預覽(詞級高亮)。提交歷史支持回滾與重置操作。Git 狀態每 5 秒靜默輪詢,外部改動不會打斷當前操作。
面板體驗¶
以居中模態窗口呈現,支持掛起(滑出視口恢復狀態)和全屏切換。設置頁可配置編輯器主題、默認全屏及點擊行爲。界面採用磨砂玻璃視覺風格,並包含焦點陷阱與滾動鎖定機制。雙入口設計:已進入會話時位於標題欄,新建會話時位於輸入框上方。
安裝與啓用¶
- 獲取插件源碼並放置到插件目錄(示例路徑爲
~/.dsh/plugins/)。 - 註冊到 web profile:
dsh plugin --profile web add ~/.dsh/plugins/dsh-files-git
- 重啓 DSH Web:
dsh web
- 打開面板:在 WebUI 標題欄找到「文件與變更」按鈕並點擊。
使用說明¶
- 文件操作:在文件標籤中展開目錄,點擊文件進行預覽或編輯(Monaco)。支持本地文件上傳和引用到輸入框。
- Git 操作:勾選變更文件後提交,或通過操作欄執行拉取、推送。點擊差異行可展開對比視圖。
- 掛起面板:點擊頭部「↑」或鼠標移出面板,面板會滑出並保持狀態,再次進入即可恢復。
注意事項¶
- 環境要求:DSH 版本需 0.1.5 及以上,系統 PATH 中需包含
git命令。 - 路徑依賴:安裝後不要刪除或移動插件源目錄,profile 中是符號鏈接,源目錄丟失會導致啓動失敗。
- 安全模型:RPC 通信僅限於迴環地址,文件瀏覽嚴格限定在工作區根目錄內,無 Shell 注入風險。
- 語言:Git 命令輸出本身爲英文或混合輸出,面板界面文案跟隨 DSH 語言設置。
生態與資源¶
該插件遵循 MIT 許可證,零運行時依賴,支持離線安裝。更多詳情請參考項目目錄或 GitHub 倉庫。