Skip to content

v0.0.18

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Sep 03:58
· 9 commits to master since this release
6bce1e2

Hyper Git - Agentic Git v0.0.18 — Commit / Branches 标题栏重构 · 批量 Discard Changes · 分支级 Push · 双市场发布重启

本版核心:Commit 与 Branches 两视图的头部与标题栏整体重构——Commit 头部两行 UI 上移 VS Code 标题栏(净省两行竖直空间),并新增以文件勾选集为范围的批量 Discard Changes;Branches 的 Push 下放分支右键(按分支推送)、Prune 上移标题栏、Merge… 收入「…」菜单。同时修复无效 codicon 致 Compare with Current Branch 图标渲染空白与文件列表树的 A11y 语义回归,并重启 Open VSX 发布通道,覆盖 Cursor / Windsurf / VSCodium 等编辑器。


✨ 亮点速览

  • Commit 头部两行 UI 上移标题栏:Active Changelist 下拉与 管理菜单、List ⇄ Tree 段控全部迁入 VS Code 标题栏,Select All 改为文件列表内吸顶首行——净省两行竖直空间,文件列表可视区随之变长。
  • 批量 Discard Changes:Commit 标题栏最左 $(discard) 图标,以文件列表勾选集为范围一次性撤销——单次确认对话框列示目标文件,未跟踪文件删除、已跟踪改动还原,语义与单文件右键 Discard Changes 完全一致。
  • 分支级 Push:右键 Branches 视图中任一本地分支即可单独推送——已配置上游时按显式 refspec 推送(本地名与上游名不一致亦正确),无上游时选定 remote 并以 -u 建立追踪。
  • Branches 标题栏重排:Push 图标下放右键菜单,「Prune Deleted Remote Branches」上移标题栏 $(sync-ignored) 图标位,「Merge…」收入「…」菜单。
  • 活动 Changelist 管理改走 QuickPick:各列表带文件计数、当前活动项预选,分隔线后并入 New / Rename / Delete;活动列表名常驻视图副标题(Default 时省略——无信息量不常驻)。
  • 标题栏图标常驻引导:VS Code 默认仅在 hover / 聚焦视图时显示标题栏动作,现提供命令面板开关与首次激活的一次性提示,一键让图标常驻。
  • 图标渲染空白修复:Compare with Current Branch 的 $(compare) 并非有效 codicon id,修正为 $(git-compare);并新增图标名白名单护栏测试,杜绝同类漏出。
  • 双市场发布重启:同一枚 VSIX 同时发布至 VS Code Marketplace 与 Open VSX,Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器可直接搜索安装。

🧩 特性详述

1. Commit 视图头部两行 UI 上移标题栏(#120

原视图头部的两行控件整体迁入 VS Code 标题栏,净省两行竖直空间:

  • Active Changelist 选择器:原下拉框与 管理菜单合并为一个 Set Active Changelist… 入口(位于标题栏「…」菜单)——点击弹出 QuickPick,各列表带文件计数、当前活动项预选,分隔线后并入 New / Rename / Delete Changelist… 操作(默认列表不可改名 / 删除);活动列表名常驻视图副标题(标题「Commit」同行右侧),活动列表为 Default 时省略
  • List ⇄ Tree 切换:原段控改为标题栏 $(list-tree) / $(list-flat) 互斥图标(交互范式与 Graph / Branches 一致),偏好移交扩展宿主 workspaceState 按仓库持久化hyperGit.commit.dmode:<repo>);
  • Select All 吸顶:复选框改为文件列表容器内的吸顶首行(列表为空时随空态隐藏),原 .cl-bar 与 files-header 两行整体移除。

完整叙述见 Commit 视图整合变更文件目录树

2. Commit 标题栏批量 Discard Changes(#121

新增 Discard Changes 标题栏动作(最左 $(discard) 图标),以文件列表勾选集为范围批量撤销:

  • 单次 modal 确认,正文列示目标文件(超 10 个截断为 … and N more);
  • 确认后批量执行——未跟踪文件 clean 删除、已跟踪改动 restore 还原,与单文件右键 Discard Changes 走同一条统一路径(单 / 多选语义一致);
  • 勾选集自 webview 单向同步宿主镜像(webview 仍为事实源),无勾选时给出提示而非静默无操作。

同时 Set Active Changelist…New Changelist… 两入口由标题栏图标位收入「…」菜单(0_changelist 组,居同步组之前),把有限的图标位让给高频动作。

3. Branches 标题栏重排与分支级 Push(#121

  • 分支右键 Push(新增):右键任一本地分支 → Push。已配置上游时按显式 refspec 推送到追踪分支(本地名与上游名不一致亦正确);无上游时选定 remote 并以 -u 建立追踪——与全局 Push 的双路径语义一致。未配置任何 remote 时给出明确告警;推送全程带进度反馈,完成后刷新视图并提示;
  • Push 图标下放:标题栏不再占用图标位(全局 Push 仍可用 Commit 视图标题栏与命令面板);
  • Prune Deleted Remote Branches 上移:由「…」菜单升至标题栏 $(sync-ignored) 图标(即原 Push 位)。该图标全扩展唯一,既区别于同栏 $(refresh) / $(sync) 同步类,也不与右键删除类 $(trash) 混淆;
  • Merge… 收入「…」菜单:置于同步组内 Update Project 与 New Tag… 之间,不再占用图标位。

4. 标题栏图标常驻引导(#121

VS Code 默认仅在 hover / 聚焦视图时显示标题栏动作(平台行为:ViewPaneworkbench.view.alwaysShowHeaderActions 切换 CSS 类,扩展贡献点无法覆盖)。本版提供双入口:

  • 命令面板 Hyper Git: Always Show View Toolbar Icons 随时开启;
  • 首次激活的一次性提示——Always Show 写入全局设置并即时生效,Don't Show Again 不再打扰;该设置已为 true 时静默不提示。

5. 稳定性修复(#120 / #121

  • Compare with Current Branch 菜单图标渲染为空白方块$(compare) 并非有效 codicon id(自 v0.0.17 起即如此),修正为 $(git-compare)。无效 codicon id 在 VS Code 中静默渲染为空白且无任何告警,现以取自 microsoft/vscode-codicons 的图标名白名单护栏测试全量校验命令与 submenu 图标,杜绝同类漏出——该护栏在本版开发期即拦下另一处新引入的 $(sync-ignore)
  • Commit 文件列表树语义回归:吸顶 Select All 行引入后打断了树语义——role="tree"aria-label 回归保留于可聚焦的文件列表容器,吸顶行与行区容器降为 presentation;并补 scroll-margin-top,避免键盘导航的 scrollIntoView 把首行滚到吸顶行之下被遮挡。

6. 发布通道:重启双市场(#119

CI publish job 增回 Open VSX 发布步骤(由仓库变量 ENABLE_OVSX_PUBLISH 门控,与 Marketplace 的 ENABLE_MARKETPLACE_PUBLISH 对称),复用 package job 产出的同一枚 VSIX、共享同一道 production 审批门——两个市场分发的是字节一致的构建产物。发布决策沿革见 发布策略调研


⚙️ 升级与兼容

  • Commit 文件列表 List / Tree 偏好一次性重置为默认 flat:该偏好自 webview state 移交宿主 workspaceState 按仓库持久化(hyperGit.commit.dmode:<repo>),旧偏好不迁移;勾选集、目录折叠状态与提交草稿均不受影响
  • Branches 标题栏不再有 Push 图标:改为右键任一本地分支执行(新增的按分支推送能力);全局 Push 仍可用 Commit 视图标题栏与命令面板;
  • Branches 的 Merge… 由标题栏收入「…」菜单;「Prune Deleted Remote Branches」反向由「…」菜单上移标题栏图标位;
  • Commit 的 Set Active Changelist… 与 New Changelist… 由标题栏图标位收入「…」菜单;活动 changelist 为 Default 时视图副标题不再显示;
  • 标题栏图标默认仅 hover 显示属 VS Code 平台行为——若希望常驻,用命令面板的 Hyper Git: Always Show View Toolbar Icons 开启(或在首次激活的提示中点 Always Show);
  • 无破坏性移除:全部既有命令、视图与配置项保留;本版新增 hyperGit.pushBranchhyperGit.commit.discardSelectedhyperGit.commit.detailTree / detailFlathyperGit.alwaysShowHeaderActions 五个命令。

📦 安装

  • VS Code Marketplace:搜索 Hyper Git - Agentic Git 直接安装或更新。
  • Open VSX:搜索 Hyper Git - Agentic Git 直接安装或更新(覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器)。
  • 手动:从 Releases 下载 hyper-git-agentic-git-0.0.18.vsix → 命令面板 Extensions: Install from VSIX

系统要求:VS Code ≥ 1.85.0,且启用内置 Git 扩展(vscode.git,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。


💬 反馈

欢迎在 GitHub Issues 反馈问题与建议。完整工程视角变更记录见 CHANGELOG

许可证:MIT