DSH 插件生態豐富,但針對 Git 工具的深度定製相對較少。本地開發時,開發者通常需要在終端或獨立的 IDE 中查看提交歷史、管理分支和對比變更。dsh-ide-git 插件通過引入 IDE 級的 Git 工具窗口,將分支樹、提交圖譜、變更列表與提交詳情整合到一個面板中,支持 JetBrains 風格的操作方式,並作爲 dsh-better-sidebar 的原生 Tab 註冊,適配右側欄與底部面板佈局。
這是一個由 KannaKuron 維護的客戶端插件,旨在解決 DSH 原生 Git 面板功能單一的問題。它提供了完整的分支管理、提交圖譜可視化以及逐行 diff 查看能力,同時支持將代碼片段或提交引用直接發送到當前會話,方便與 AI 協作。
核心功能¶
- 分支樹管理:支持 HEAD / 本地 / 遠程 / 標籤分組,帶 ahead/behind 角標,展示上游與 worktree 佔用標記。
- 提交圖譜:展示 lane 拓撲與分支/標籤 ref 徽章,支持加載更多與過濾(文本、哈希、作者)。
- 變更與詳情:支持逐行 diff,紅綠高亮與行號,點擊文件可查看完整變更。
- 發送到對話:支持提交、分支、文件及 diff 選區右鍵發送到當前會話,自動生成引用格式。
- 雙佈局自適應:在右側欄(窄高)採用堆疊佈局,在底部面板(寬扁)採用三欄佈局,v0.13.0 起支持掛載至主對話區標籤頁。
- Git 操作:支持變更暫存、丟棄、還原、重置,以及 Cherry-pick、新建標籤、抓取/拉取/推送。
- 安全與撤回:刪除分支或貯藏後 30 分鐘內可撤回;同一倉庫的寫操作在宿主中串行執行。
安裝與啓用¶
在宿主終端執行以下命令安裝插件:
dsh plugin --profile web add dsh-ide-git
安裝後,插件會自動註冊。若已安裝 dsh-better-sidebar,面板將作爲原生 Tab 出現在側邊欄;若未安裝底座,面板也會自動出現在 DSH 原生右側欄的 Guide 頁中。
典型用法¶
- 發送引用:在面板內右鍵點擊提交或分支,選擇“發送到對話”,可將引用插入當前會話。
- 發送代碼片段:在 diff 窗口選中代碼行並右鍵,選擇“發送選中行到對話”,將特定代碼段發送至聊天。
- 查看變更:在變更列表或提交詳情中點擊文件行,查看逐行 diff。
適用場景與注意¶
- 依賴要求:需要宿主 DSH 版本 >= 0.1.6-alpha.2,以及 Node.js >= 18。
- 圖標處理:不依賴
ui-primitives圖標集,使用自帶 SVG。 - 操作安全:寫操作(如刪除分支、重置)在宿主中串行執行,防止併發衝突。
- 撤回機制:刪除操作具有 30 分鐘的窗口期,期間可通過浮窗或頂欄入口撤回。
該插件爲 DSH 提供了一個功能完備的 Git 工具窗口,適合需要頻繁進行分支切換、代碼審查和與 AI 協作的開發者。
目錄頁:https://www.skillhub.cn/plugins/KannaKuron/dsh-ide-git
源碼地址:https://github.com/KannaKuron/dsh-ide-git