diff --git a/CHANGELOG.md b/CHANGELOG.md index 4917d62..6ee7029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,28 @@ ## [Unreleased] +## [0.0.12] - 2026-07-04 — 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 布局优化 · 依赖升级基线 + +在 v0.0.11 基础上,将 Graph 提交详情悬浮卡重做为**随光标浮现、逐项对齐 VS Code 官方 Source Control GRAPH** 的形态(其间曾尝试迁移至右侧编辑器区面板,最终撤回、改回光标跟随浮层),并配套修复 CI / 提交两类 Tooltip 的定位、互斥、键盘触发与引用胶囊截断等一系列交互回归;同时优化侧边栏视图默认布局,并合入 TypeScript 6 / vitest 4 / vite 8 等依赖升级基线。完整用户视角叙述见 [Release Note v0.0.12](./docs/releases/v0.0.12.md)。 + ### Changed -- **侧边栏视图默认布局优化**:Stash / Shelf 两个次要视图默认折叠(`visibility: "collapsed"`,仅占标题栏、点击即展开),Worktrees 保持默认展开、仅以 `initialSize` 收窄;并为各视图设置初始高度权重(`initialSize`:Commit / Graph 较高、Branches 居中、次要视图紧凑),缓解视图挤占空间的体感。注:VS Code 侧边栏视图存在约 142px 硬性最小展开高度(核心硬编码、官方特性请求 [microsoft/vscode#123715](https://github.com/microsoft/vscode/issues/123715) 已 not planned),**无法经扩展解除**;上述默认仅对**新安装**或执行「View: Reset View Locations」后的布局生效。详见 [issue #12](./docs/.agents/issue.md)。 +- **Graph 提交详情改为「光标跟随 hover 悬浮卡」并逐项对齐官方**:撤销中途「提交详情迁移至右侧编辑器区 WebviewPanel」的方案,改为随光标浮现的 `#commit-tip` 悬浮卡(采用 `editorHoverWidget` 语义令牌、与 CI 状态浮层同款视觉语言);内容逐项对齐官方 Source Control GRAPH——变更文件 diffstat、作者 / 提交者邮箱、作者 / 提交时间(绝对 + 相对)、所在 branches / tags / remotes 引用胶囊与 Committer 行。新增 engine 纯函数 [`format-time`](./src/engine/log/format-time.ts)(绝对 + 相对时间格式化)作单一事实源,并扩展 [`commit-files`](./src/engine/log/commit-files.ts) diffstat 解析与 [`protocol`](./src/shared/protocol.ts) 提交详情载荷。(#65, #69) +- **侧边栏视图默认布局优化**:Stash / Shelf 两个次要视图默认折叠(`visibility: "collapsed"`,仅占标题栏、点击即展开),Worktrees 保持默认展开、仅以 `initialSize` 收窄;并为各视图设置初始高度权重(`initialSize`:Commit / Graph 较高、Branches 居中、次要视图紧凑),缓解视图挤占空间的体感。注:VS Code 侧边栏视图存在约 142px 硬性最小展开高度(核心硬编码、官方特性请求 [microsoft/vscode#123715](https://github.com/microsoft/vscode/issues/123715) 已 not planned),**无法经扩展解除**;上述默认仅对**新安装**或执行「View: Reset View Locations」后的布局生效。详见 [issue #12](./docs/.agents/issue.md)。(#64) + +### Fixed +- **CI 与提交详情 Tooltip 定位更贴近光标**:浮层与光标间距由 14 收窄至 8,并对纵向翻转做视口钳制,避免浮层超出可视区或与光标脱节。(#77) +- **CI 与提交详情 Tooltip 互斥 + 浮层内引用胶囊完整不截断**:两类浮层不再同时显现互相遮挡;提交悬浮卡内的 branches / tags / remotes 引用胶囊改为完整显示、不再被省略号截断。(#76) +- **CI 状态 Tooltip 键盘触发丢失**:`positionTip` 改为 rect / cursor 双模式定位,键盘(`i` 键)触发时以行 rect 锚定,恢复鼠标之外的可访问触发路径。(#74) +- **恢复提交 Tooltip 丢失的 branches / tags / remotes 胶囊与 Committer 行**:修复重做过程中的回归,提交悬浮卡重新完整呈现引用胶囊与(与作者不同时的)提交者行。(#74) + +### Build +- **TypeScript `5.9` → `6.0.3` 升级并迁移 tsconfig 模块解析策略**。(#67) +- **测试与构建工具链升级**:`vitest 2` → `4.1.9`、新增显式 `vite ^8.1.3`、`typescript-eslint 8.39` → `8.62.1`,并重生锁文件。(#66) +- **其余开发依赖升级**:`@stylistic/eslint-plugin 2` → `5.10.0`、`@types/node 26.0.1` → `26.1.0`、`prettier 3.9.3` → `3.9.4`。(#55) +- **依赖治理**:`actions/checkout 4` → `7` (#54),并将 dependabot `target-branch` 锚定至 `feature/1.x.x`、4 项依赖升级改道版本演进分支。(#75) + +### Docs +- **文档口径同步为 VS Code Marketplace 单市场**:移除文档中残留的 OpenVSX 记述,与 v0.0.11 起的单市场发布决策对齐。(#63) ## [0.0.11] - 2026-07-04 — 首个正式版(承载 0.0.10 内容)· 发布渠道收敛 Marketplace diff --git a/docs/.agents/knowledge-map.md b/docs/.agents/knowledge-map.md index 63920c2..b357d3b 100644 --- a/docs/.agents/knowledge-map.md +++ b/docs/.agents/knowledge-map.md @@ -25,7 +25,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.9](../releases/v0.0.9.md))。 +- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.12](../releases/v0.0.12.md))。 ## 架构分层(src/) > 依赖方向单向:`UI → Adapter → Engine`;`Agent` 以接口注入 `Engine`/`CommitPipeline`,不反向依赖 UI。 diff --git a/docs/README.md b/docs/README.md index 96d4196..34edf27 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,7 +11,7 @@ - [Log 视图 CI 状态](./features/log-ci-status.md) — 按提交显示 GitHub CI 最终状态(绿勾/红叉 + 悬停 Tooltip 明细):认证、限流、懒加载、边界与配置。 ## 发布说明 -- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.9 视图整合 · UI 系统化 · 分支与 CI 增强](./releases/v0.0.9.md)。 +- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.12 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 布局优化 · 依赖升级基线](./releases/v0.0.12.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 1e4ab52..61935de 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.12](./v0.0.12.md) | 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 侧边栏布局优化 · 依赖升级基线(TS6 / vitest4 / vite8) | 2026-07-04 | | [v0.0.11](./v0.0.11.md) | 首个正式版(承载 0.0.10 内容)· Graph 视图对齐官方 · 发布渠道收敛 Marketplace | 2026-07-04 | | [v0.0.9](./v0.0.9.md) | 视图整合 · UI 系统化 · 分支与 CI 增强(自 v0.0.6 全量) | 2026-07-04 | | [v0.0.6](./v0.0.6.md) | 首个 MVP 正式版(以「Hyper Git - Agentic Git」之名上架) | 2026-06-30 | diff --git a/docs/releases/v0.0.12.md b/docs/releases/v0.0.12.md new file mode 100644 index 0000000..33a660f --- /dev/null +++ b/docs/releases/v0.0.12.md @@ -0,0 +1,66 @@ +# Hyper Git - Agentic Git v0.0.12 — 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 布局优化 · 依赖升级基线 + +> 在 [v0.0.11](./v0.0.11.md) 基础上的一次交互打磨与工程基线巩固版本。将 **Graph 提交详情**悬浮卡重做为**随光标浮现、逐项对齐 VS Code 官方 Source Control GRAPH** 的形态;配套修复 CI / 提交两类悬浮 Tooltip 的定位、互斥、键盘触发与引用胶囊截断等一系列交互回归;优化侧边栏视图默认布局;并合入 TypeScript 6 / vitest 4 / vite 8 等依赖升级基线。 + +> 本版无破坏性变更:视图 `viewType`、消息协议、`webview.setState` 形状与全部配置项均保持不变,旧状态无需迁移。 + +--- + +## ✨ 亮点速览 + +- **提交详情:光标跟随悬浮卡**:鼠标悬停 Graph 提交行,提交详情以**跟随光标**的悬浮卡浮现,采用 VS Code `editorHoverWidget` 语义配色、与 CI 状态浮层同款视觉语言,内容逐项对齐官方 Source Control GRAPH。 +- **Tooltip 交互一致性修复**:浮层定位更贴近光标、CI 与提交两类浮层互斥不互相遮挡、引用胶囊完整不截断、键盘(`i` 键)触发路径恢复。 +- **侧边栏视图默认布局优化**:次要视图默认折叠、各视图设初始高度权重,缓解视图挤占空间的体感。 +- **依赖升级基线**:TypeScript 6.0.3、vitest 4、vite 8、typescript-eslint 8.62.1 等升级到位,锁文件重生,为后续演进夯实工具链地基。 + +--- + +## 🧩 完整能力 + +### Graph 提交详情:光标跟随悬浮卡,逐项对齐官方 +面向用户的提交详情由「独立面板」路线**回归为随光标浮现的悬浮卡**——此前曾尝试将提交详情迁移至右侧编辑器区 `WebviewPanel`,实测交互割裂(需切 tab、丢失上下文),最终**撤回该方案**、改回轻量的光标跟随浮层,并在此形态上逐项对齐 VS Code 官方 Source Control GRAPH: + +- **视觉语言统一**:悬浮卡(`#commit-tip`)采用 `editorHoverWidget` 系列语义令牌(背景 / 前景 / 边框),与 CI 状态浮层同款圆角、阴影与字号,深浅主题自适应。 +- **内容逐项对齐官方**:变更文件 **diffstat**(增删行)、作者与提交者**邮箱**、作者 / 提交**时间**(绝对 + 相对并列)、所在 **branches / tags / remotes** 引用胶囊、以及(与作者不同时的)**Committer** 行。 +- **单一事实源**:新增 engine 纯函数 [`format-time`](../../src/engine/log/format-time.ts)(绝对 + 相对时间格式化)作为时间呈现的唯一实现,避免 host / webview 双份漂移;配套扩展 [`commit-files`](../../src/engine/log/commit-files.ts) 的 diffstat 解析与 [`protocol`](../../src/shared/protocol.ts) 的提交详情载荷字段。 + +### 侧边栏视图默认布局优化 +- **次要视图默认折叠**:Stash / Shelf 两个次要视图默认折叠(仅占标题栏、点击即展开),Worktrees 保持默认展开、仅收窄初始高度。 +- **初始高度权重**:为各视图设置 `initialSize`(Commit / Graph 较高、Branches 居中、次要视图紧凑),缓解视图相互挤占空间的体感。 +- **已知边界**:VS Code 侧边栏视图存在约 **142px 硬性最小展开高度**(核心硬编码,官方特性请求 [microsoft/vscode#123715](https://github.com/microsoft/vscode/issues/123715) 已 not planned),**无法经扩展解除**;上述默认仅对**新安装**或执行「View: Reset View Locations」后的布局生效。详见 [issue #12](../.agents/issue.md)。 + +--- + +## 🐛 改进与修复 + +- **浮层定位更贴近光标**:CI 与提交详情两类 Tooltip 与光标的间距由 14 收窄至 8,并对纵向翻转做视口钳制,避免浮层超出可视区或与光标脱节。(#77) +- **两类浮层互斥 + 引用胶囊不截断**:CI 状态浮层与提交悬浮卡不再同时显现互相遮挡;提交悬浮卡内的 branches / tags / remotes 引用胶囊改为完整显示、不再被省略号截断。(#76) +- **键盘触发路径恢复**:`positionTip` 改为 rect / cursor 双模式定位——鼠标悬停走光标锚定、键盘(`i` 键)触发走行 rect 锚定,修复 CI 状态 Tooltip 键盘触发丢失。(#74) +- **修复重做过程中的回归**:恢复提交悬浮卡一度丢失的 branches / tags / remotes 胶囊与 Committer 行。(#74) + +> 规模实证:**6 视图 / 97 命令 / 6 配置项 / 349 单元测试**(34 文件全绿)+ 集成测试,CI 三平台(Ubuntu / macOS / Windows)矩阵校验。 + +--- + +## ⚙️ 升级与兼容 + +- **无破坏性变更**:本版聚焦交互打磨与工程基线,未改动 `viewType`、消息协议、`setState` 形状或配置项(`hyperGit.log.*` / `hyperGit.commit.*`),旧状态无需迁移。 +- **未新增配置项**:现有配置一律沿用。 +- **依赖升级基线**(面向贡献者):`TypeScript 5.9 → 6.0.3`(并迁移 tsconfig 模块解析策略)、`vitest 2 → 4.1.9`、新增显式 `vite ^8.1.3`、`typescript-eslint 8.39 → 8.62.1`,以及 `@stylistic/eslint-plugin`、`prettier`、`actions/checkout` 等升级;锁文件已重生。不影响扩展运行时行为与安装要求。 + +--- + +## 📦 安装 + +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装。 +- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.12) 下载 `hyper-git-agentic-git-0.0.12.vsix` → 命令面板 `Extensions: Install from VSIX`(Cursor / Windsurf / VSCodium 等用户可经此方式安装)。 + +**系统要求**: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 e87a5c5..5a68245 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.11", + "version": "0.0.12", "publisher": "ThreeFish-AI", "license": "MIT", "preview": true,