Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/.agents/knowledge-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -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。
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 模型映射。
Expand Down
1 change: 1 addition & 0 deletions docs/releases/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
66 changes: 66 additions & 0 deletions docs/releases/v0.0.12.md
Original file line number Diff line number Diff line change
@@ -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)。
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down