From 87c2a5b9676bee227ce3c79e6a6964d8e9365c04 Mon Sep 17 00:00:00 2001 From: ThreeFish Date: Thu, 10 Sep 2026 11:51:07 +0800 Subject: [PATCH] =?UTF-8?q?chore(Release):=20=E5=8F=91=E5=B8=83=20v0.0.18?= =?UTF-8?q?=20=E2=80=94=E2=80=94=20Commit=20/=20Branches=20=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E6=A0=8F=E9=87=8D=E6=9E=84=20=C2=B7=20=E6=89=B9?= =?UTF-8?q?=E9=87=8F=20Discard=20Changes=20=C2=B7=20=E5=88=86=E6=94=AF?= =?UTF-8?q?=E7=BA=A7=20Push;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CHANGELOG.md:[Unreleased] 全部条目晋升为 [0.0.18] - 2026-09-10 并按重要度重排,[Unreleased] 重置为空;补齐两处遗漏(#120 的 Commit 文件列表树 A11y 语义回归修复、Docs 小节记录 .agents 文档去重与特性/调研文档同步);codicon 条目校准为实际影响用户的一处($(compare) → $(git-compare),$(sync-ignore) 系本版开发期内引入并由护栏拦下,从未发布);CI 条目标点归一为全角; - CHANGELOG.md:修复 v0.0.17 发布提交 a1a18cc 误删的 ## [0.0.16] 标题前缀,版本标题恢复连续; - docs/releases/v0.0.18.md:新增面向用户的发布说明(GitHub Release 正文单一事实源,含升级兼容说明——Commit List/Tree 偏好一次性重置为 flat、Branches Push 下放右键、Merge… 收入「…」菜单);安装章节相对 v0.0.17 增列 Open VSX 渠道; - docs/releases/README.md:版本索引表新增 v0.0.18 行; - docs/README.md / docs/.agents/knowledge-map.md:「最新发布」指针 v0.0.17 → v0.0.18; - README.md:Release 说明补齐 Open VSX 发布渠道与 ENABLE_OVSX_PUBLISH 门控(#119 已重启双市场,该行未同步); - package.json:version 0.0.17 → 0.0.18。 验证: pnpm run package(tsc + eslint + esbuild production)与 pnpm run test:unit(46 文件 / 429 用例)全绿。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang --- CHANGELOG.md | 26 +++++++--- README.md | 2 +- docs/.agents/knowledge-map.md | 2 +- docs/README.md | 2 +- docs/releases/README.md | 1 + docs/releases/v0.0.18.md | 92 +++++++++++++++++++++++++++++++++++ package.json | 2 +- 7 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 docs/releases/v0.0.18.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a42e78..e1b2ca1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,21 +6,31 @@ ## [Unreleased] -### Added +## [0.0.18] - 2026-09-10 — Commit / Branches 标题栏重构 · 批量 Discard Changes · 分支级 Push · 双市场发布重启 -- **Branches 视图分支右键新增 Push(推送指定分支)**:右键任一本地分支 → `hyperGit.pushBranch`——已配置上游时按显式 refspec 推送到追踪分支(本地名/上游名不一致亦正确),无上游时选定 remote 并以 `-u` 建立追踪(语义同全局 Push 的双路径),推送后刷新视图并提示。 -- **Commit 视图标题栏新增 Discard Changes(最左 `$(discard)` 图标,批量撤销勾选文件)**:以文件列表勾选集为范围,单次 modal 确认(列示目标文件,超 10 个截断)后批量执行——未跟踪文件 `clean` 删除、已跟踪改动 `restore` 还原,语义与单文件右键 Discard Changes 一致;勾选集自 webview 单向同步 host 镜像(webview 仍为事实源),无勾选时给出提示,视图刷新经 `onDidChange → refreshAll` 驱动。同时 Set Active Changelist… 与 New Changelist… 两入口由标题栏图标位收入「…」菜单(`0_changelist` 组,居同步组之前)。 +自 v0.0.17 以来的积累(PR #119 / #120 / #121)。核心变更:**Commit 与 Branches 两视图的头部与标题栏整体重构**——Commit 头部两行 UI(Active Changelist 选择器、List/Tree 段控)上移 VS Code 标题栏,净省两行竖直空间,并新增以文件勾选集为范围的批量 Discard Changes;Branches 的 Push 下放分支右键(按分支推送的显式 refspec / `-u` 双路径)、Prune 上移标题栏、Merge… 收入「…」菜单。同时修复无效 codicon 致 Compare with Current Branch 图标渲染空白与文件列表树的 A11y 语义回归,并重启 Open VSX 发布通道(与 Marketplace 对称门控),覆盖 Cursor / Windsurf / VSCodium 等编辑器。完整用户视角叙述见 [Release Note v0.0.18](./docs/releases/v0.0.18.md)。 -### Fixed +### Added -- **两处图标名无效导致标题栏/菜单渲染空白方块**:`$(sync-ignore)` → `$(sync-ignored)`(Prune Deleted Remote Branches)、`$(compare)` → `$(git-compare)`(Compare with Current Branch)。无效 codicon id 在 VS Code 中静默渲染为空白、无任何告警,现以 [`tests/unit/codicon-validity.test.ts`](./tests/unit/codicon-validity.test.ts) 白名单护栏全量校验命令与 submenu 图标,杜绝同类漏出。 +- **Commit 视图标题栏新增 Discard Changes(最左 `$(discard)` 图标,批量撤销勾选文件)**:以文件列表勾选集为范围,单次 modal 确认(列示目标文件,超 10 个截断)后批量执行——未跟踪文件 `clean` 删除、已跟踪改动 `restore` 还原,语义与单文件右键 Discard Changes 一致;勾选集自 webview 单向同步 host 镜像(webview 仍为事实源),无勾选时给出提示,视图刷新经 `onDidChange → refreshAll` 驱动。同时 Set Active Changelist… 与 New Changelist… 两入口由标题栏图标位收入「…」菜单(`0_changelist` 组,居同步组之前)。 +- **Branches 视图分支右键新增 Push(推送指定分支)**:右键任一本地分支 → `hyperGit.pushBranch`——已配置上游时按显式 refspec 推送到追踪分支(本地名/上游名不一致亦正确),无上游时选定 remote 并以 `-u` 建立追踪(语义同全局 Push 的双路径),推送后刷新视图并提示。 ### Changed +- **Commit 视图头部两行 UI 上移 VS Code 标题栏(省两行竖直空间)**:① 「Active Changelist」下拉与 `⋯` 管理菜单合并为标题栏「…」菜单的 Set Active Changelist… 入口(New Changelist… 亦收入「…」)——点击弹出 QuickPick:各列表带文件计数、当前活动项预选,分隔线后并入 New / Rename / Delete Changelist… 操作(默认列表不可改名/删除);活动 changelist 名常驻视图副标题(标题「Commit」同行右侧,Default 活动列表时省略——无信息量不常驻)。② 文件列表 List ⇄ Tree 段控改为标题栏 `$(list-tree)`/`$(list-flat)` 互斥图标(交互同 Graph/Branches 切换范式),偏好移交 host `workspaceState` 按仓库持久化(`hyperGit.commit.dmode:`)——**原 webview state 中的旧 List/Tree 偏好一次性重置为默认 flat**(勾选集、目录折叠与提交草稿不受影响)。③ Select All 复选框吸顶于文件列表容器内首行(列表为空时随空态隐藏),原 `.cl-bar` 与 files-header 两行整体移除。 - **Branches 视图标题栏重排**:① 原 Push 图标下放至分支右键菜单(见上 Added;全局 Push 仍可用 Commit 视图标题栏与命令面板)。② 「Prune Deleted Remote Branches」由「…」菜单上移至标题栏 `$(sync-ignored)` 图标(`navigation@4`,即原 Push 位;该图标全扩展唯一,既区别于同栏 `$(refresh)`/`$(sync)` 同步类,也不与右键删除类 `$(trash)` 混淆)。③ 「Merge…」由标题栏图标收入「…」菜单(同步组内,Update Project 与 New Tag… 之间),不再占用图标位。 - **视图标题栏图标常驻引导**:VS Code 默认仅在 hover/聚焦视图时显示标题栏动作(平台行为,`ViewPane` 依 `workbench.view.alwaysShowHeaderActions` 切换 CSS 类 `actions-always-visible`,扩展贡献点无法覆盖)。现提供双入口:命令面板 **Hyper Git: Always Show View Toolbar Icons** 随时开启,以及首次激活的一次性提示(Always Show 写入全局设置并即时生效、Don't Show Again 不再打扰;设置已为 `true` 时不提示)。 -- **CI 发布渠道重启双市场**:`publish` job 增回 Open VSX 发布步骤(`pnpm exec ovsx publish --packagePath ./*.vsix`,由仓库变量 `ENABLE_OVSX_PUBLISH` 门控 + `OVSX_PAT` 凭证,复用 `package` job 的同一枚 VSIX、共享 production 审批门),覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器;README 安装渠道同步加回 Open VSX。发布决策沿革见 [发布策略调研](./docs/research/04-publishing-cicd.md)。 -- **Commit 视图头部两行 UI 上移 VS Code 标题栏(省两行竖直空间)**:① 「Active Changelist」下拉与 `⋯` 管理菜单合并为标题栏「…」菜单的 Set Active Changelist… 入口(New Changelist… 亦收入「…」)——点击弹出 QuickPick:各列表带文件计数、当前活动项预选,分隔线后并入 New / Rename / Delete Changelist… 操作(默认列表不可改名/删除);活动 changelist 名常驻视图副标题(标题「Commit」同行右侧,Default 活动列表时省略——无信息量不常驻)。② 文件列表 List ⇄ Tree 段控改为标题栏 `$(list-tree)`/`$(list-flat)` 互斥图标(交互同 Graph/Branches 切换范式),偏好移交 host `workspaceState` 按仓库持久化(`hyperGit.commit.dmode:`)——**原 webview state 中的旧 List/Tree 偏好一次性重置为默认 flat**(勾选集、目录折叠与提交草稿不受影响)。③ Select All 复选框吸顶于文件列表容器内首行(列表为空时随空态隐藏),原 `.cl-bar` 与 files-header 两行整体移除。 +- **CI 发布渠道重启双市场**:`publish` job 增回 Open VSX 发布步骤(`pnpm exec ovsx publish --packagePath ./*.vsix`,由仓库变量 `ENABLE_OVSX_PUBLISH` 门控 + `OVSX_PAT` 凭证,复用 `package` job 的同一枚 VSIX、共享 production 审批门),覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器;README 安装渠道同步加回 Open VSX。发布决策沿革见 [发布策略调研](./docs/research/04-publishing-cicd.md)。 + +### Fixed + +- **Compare with Current Branch 菜单图标渲染为空白方块**:`$(compare)` 并非有效 codicon id(自 v0.0.17 起即如此),修正为 `$(git-compare)`。无效 codicon id 在 VS Code 中静默渲染为空白、无任何告警,现以 [`tests/unit/codicon-validity.test.ts`](./tests/unit/codicon-validity.test.ts) 白名单护栏(取自 `microsoft/vscode-codicons` 的 `mapping.json`)全量校验命令与 submenu 图标,杜绝同类漏出——该护栏在本版开发期即拦下另一处新引入的 `$(sync-ignore)`(已修正为 `$(sync-ignored)`,见 Changed 中的 Branches 视图标题栏重排)。 +- **Commit 文件列表树语义回归**:吸顶 Select All 行引入后打断了树语义——`role="tree"` 与 `aria-label` 回归保留于可聚焦的 `#files` 容器,吸顶行 `#files-selectall` 与行区容器 `#files-rows` 降为 `role="presentation"`;并补 `scroll-margin-top`,避免键盘导航的 `scrollIntoView` 把首行滚到吸顶行之下被遮挡。 + +### Docs + +- **`.agents` 文档去重**:移除仓库内 `docs/.agents/browser-validation.md` 与 `docs/.agents/reference-specifications.md` 两份副本,统一以全局 `~/.agents/docs/` 为单一事实源,并清理 [知识索引](./docs/.agents/knowledge-map.md) 与 [文档中心](./docs/README.md) 中的索引死链。 +- **特性与调研文档同步标题栏迁移口径**:[Commit 视图整合](./docs/features/commit-view-consolidation.md)(QuickPick 形态的 changelist 管理、`hyperGit.commit.dmode:` 持久化键、批量 Discard 验证步骤)、[变更文件目录树](./docs/features/file-list-group-by-directory.md);[发布策略调研](./docs/research/04-publishing-cicd.md) §2.3 由「单市场」再次修订为「双市场」,保留完整决策沿革。 ## [0.0.17] - 2026-09-09 — Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐 · 稳定性与体验修复 @@ -68,7 +78,7 @@ - 新增 [Log 提交详情面板](./docs/features/log-commit-detail-panel.md)(布局分栏 / 交互数据流 Mermaid、边缘 Case、`forHash` 守卫语义);移除被替代的 `docs/features/log-commit-tooltip.md`,同步更新 [知识索引](./docs/.agents/knowledge-map.md)、[文档中心](./docs/README.md) 与 [变更文件目录树](./docs/features/file-list-group-by-directory.md) 表述。 - - 2026-09-01 — 多根工作区仓库切换 · 分支分组树 · Agentic Git 预置 · 面板布局与 Diff 修复 +## [0.0.16] - 2026-09-01 — 多根工作区仓库切换 · 分支分组树 · Agentic Git 预置 · 面板布局与 Diff 修复 自 v0.0.14 以来的全量积累(承载 0.0.15 版本号预置——该版本号已就位但未单独发布,本版一并发布)。核心新特性:多根工作区多仓库切换、Branches 按 `/` 前缀分组树、Agentic Git 偏好配置与 Claude Code 配置预置(M5 前置铺垫)、Diff 缺失端修复与面板默认布局调整;工程侧升级 pnpm 12 与一批开发依赖。完整用户视角叙述见 [Release Note v0.0.16](./docs/releases/v0.0.16.md)。 diff --git a/README.md b/README.md index 68f5e5a..f6512c6 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ pnpm exec vsce publish ``` - **Layering**: `engine/` (pure logic) → `adapter/` (the sole layer touching the vscode API, including the hand-rendered `adapter/webview/` UI); `agent/` is injected into `engine/` via interfaces and never depends on the UI; `shared/protocol.ts` is the single source of truth for the Webview ↔ Host contract. -- **Release**: a `v*` tag triggers CI to produce a GitHub Release (with the `.vsix` attached; the body is drawn from [`docs/releases/`](./docs/releases/README.md)) and publish to the VS Code Marketplace (gated by the `ENABLE_MARKETPLACE_PUBLISH` variable; `rc` tags go to the pre-release channel). +- **Release**: a `v*` tag triggers CI to produce a GitHub Release (with the `.vsix` attached; the body is drawn from [`docs/releases/`](./docs/releases/README.md)) and publish the same VSIX to both the VS Code Marketplace (gated by the `ENABLE_MARKETPLACE_PUBLISH` variable) and Open VSX (gated by `ENABLE_OVSX_PUBLISH`); `rc` tags go to the pre-release channel. - Package management and scripts standardize on `pnpm` (per the [AGENTS.md](./AGENTS.md) engineering conventions). Version history is tracked in the [Changelog](./CHANGELOG.md). See the [documentation hub](./docs/README.md) for the full docs. --- diff --git a/docs/.agents/knowledge-map.md b/docs/.agents/knowledge-map.md index 24c39cc..5f46f6b 100644 --- a/docs/.agents/knowledge-map.md +++ b/docs/.agents/knowledge-map.md @@ -28,7 +28,7 @@ - [工程实施方案](../docs/architecture/engineering-plan.md) — 路径 B 架构 + M0-M5 里程碑(**开发蓝图**)。 - [Git 功能矩阵](../docs/requirements/idea-feature-matrix.md) — 56 功能点 / 8 组(**验收基线**,参考 IDEA 等成熟实现)。 - [调研报告](../docs/research/README.md) — SCM 集成 / 工程蓝图 / 发布 CI / AI 接缝四路循证报告。 -- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.17](../releases/v0.0.17.md))。 +- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.18](../releases/v0.0.18.md))。 ## 架构分层(src/) > 依赖方向单向:`UI → Adapter → Engine`;`Agent` 以接口注入 `Engine`/`CommitPipeline`,不反向依赖 UI。 diff --git a/docs/README.md b/docs/README.md index c2c9526..e311948 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,7 +14,7 @@ - [Agentic Git 偏好配置](./features/agentic-git-preferences.md) — Agentic Git 预置:Base Branch + Commit / Create PR / Review 三项 agent 指令偏好(多行文本域 + 内置默认模板;M5 前置铺垫)。 ## 发布说明 -- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.17 Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐](./releases/v0.0.17.md)。 +- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.18 Commit / Branches 标题栏重构 · 批量 Discard Changes · 分支级 Push](./releases/v0.0.18.md)。 ## 调研报告(循证依据) - [02 · VS Code SCM API 与 vscode.git 集成路径](./research/02-vscode-scm-integration.md) — 路径 B 决策依据、SCM 稳定/proposed API 边界、changelist 模型映射。 diff --git a/docs/releases/README.md b/docs/releases/README.md index 6462bd7..246f858 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.18](./v0.0.18.md) | Commit / Branches 标题栏重构 · 批量 Discard Changes · 分支级 Push · 双市场发布重启 | 2026-09-10 | | [v0.0.17](./v0.0.17.md) | Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐 · 稳定性与体验修复 | 2026-09-09 | | [v0.0.16](./v0.0.16.md) | 多根工作区仓库切换 · 分支前缀分组树 · Agentic Git 预置 · Diff 修复与面板布局优化 | 2026-09-01 | | [v0.0.14](./v0.0.14.md) | 修复 GRAPH 视图提交记录时间倒序(`--topo-order` → `--author-date-order`) | 2026-07-06 | diff --git a/docs/releases/v0.0.18.md b/docs/releases/v0.0.18.md new file mode 100644 index 0000000..bf383a7 --- /dev/null +++ b/docs/releases/v0.0.18.md @@ -0,0 +1,92 @@ +# 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:`); +- **Select All 吸顶**:复选框改为文件列表容器内的吸顶首行(列表为空时随空态隐藏),原 `.cl-bar` 与 files-header 两行整体移除。 + +完整叙述见 [Commit 视图整合](../features/commit-view-consolidation.md) 与 [变更文件目录树](../features/file-list-group-by-directory.md)。 + +### 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 / 聚焦视图时显示标题栏动作(平台行为:`ViewPane` 依 `workbench.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 审批门**——两个市场分发的是字节一致的构建产物。发布决策沿革见 [发布策略调研](../research/04-publishing-cicd.md)。 + +--- + +## ⚙️ 升级与兼容 + +- **Commit 文件列表 List / Tree 偏好一次性重置为默认 flat**:该偏好自 webview state 移交宿主 `workspaceState` 按仓库持久化(`hyperGit.commit.dmode:`),旧偏好不迁移;**勾选集、目录折叠状态与提交草稿均不受影响**; +- **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.pushBranch`、`hyperGit.commit.discardSelected`、`hyperGit.commit.detailTree` / `detailFlat`、`hyperGit.alwaysShowHeaderActions` 五个命令。 + +--- + +## 📦 安装 + +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装或更新。 +- **Open VSX**:搜索 `Hyper Git - Agentic Git` 直接安装或更新(覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器)。 +- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.18) 下载 `hyper-git-agentic-git-0.0.18.vsix` → 命令面板 `Extensions: Install from VSIX`。 + +**系统要求**:VS Code ≥ 1.85.0,且启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。 + +--- + +## 💬 反馈 + +欢迎在 [GitHub Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题与建议。完整工程视角变更记录见 [CHANGELOG](../../CHANGELOG.md)。 + +许可证:[MIT](https://github.com/ThreeFish-AI/hyper-git/blob/master/LICENSE)。 diff --git a/package.json b/package.json index b46f94e..cd5e56e 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "theme": "dark" }, "description": "Hyper Git brings IntelliJ IDEA's powerful Git & Commit modules to VS Code, enhanced with AI-powered autonomous agents for intelligent repository management. Experience Git in a higher dimension.", - "version": "0.0.17", + "version": "0.0.18", "publisher": "ThreeFish-AI", "license": "MIT", "preview": true,