dsh-ide-git: IDE 级 Git 工具窗口

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 页中。

典型用法

  1. 发送引用:在面板内右键点击提交或分支,选择“发送到对话”,可将引用插入当前会话。
  2. 发送代码片段:在 diff 窗口选中代码行并右键,选择“发送选中行到对话”,将特定代码段发送至聊天。
  3. 查看变更:在变更列表或提交详情中点击文件行,查看逐行 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

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

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

小夜