Skip to content

feat(M1): Git Adapter + 多 changelist Changes 树视图 - #3

Merged
ThreeFish-AI merged 4 commits into
feature/1.x.xfrom
ThreeFish-AI/m1-git-adapter-changes
Jun 27, 2026
Merged

feat(M1): Git Adapter + 多 changelist Changes 树视图#3
ThreeFish-AI merged 4 commits into
feature/1.x.xfrom
ThreeFish-AI/m1-git-adapter-changes

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

背景

落地 M1 里程碑:消费内置 vscode.git 稳定 API,实现 IDEA 风格的多 changelist Changes 视图(路径 B 架构的首个用户可感知功能)。基于 工程实施方案IDEA 功能矩阵

交付内容

  • Git Adapteradapter/git-repository-service.ts):封装 vscode.gitRepository API,读取工作区/未跟踪变更(→ ChangeItem),暴露状态变更事件、toGitUri/diff 委托。
  • vscode.git 类型契约types/git.d.ts):裁剪版(接口保留、枚举改 number),规避 esbuild 打包 .d.tsconst enum 的运行时取值问题;GitStatus 数值镜像(adapter/git-status-map.ts)为单一事实源。
  • 多 changelistadapter/changelist-registry.ts + 引擎纯分组 engine/changelist/grouper.ts):active 列表、新建/重命名/删除/移动,workspaceState 持久化、重启恢复(仿 IDEA ChangeListManager)。
  • Changes TreeViewadapter/tree/changes-tree.ts):changelist 一级节点 + 文件叶子;状态色复用 gitDecoration.* 主题色(ThemeIcon + ThemeColor);文件单击打开原生 vscode.diff(HEAD ↔ Working)。
  • 8 个命令 + 菜单:refresh / newChangelist / setActive / rename / delete / move / openDiff / showVersion,配视图标题与 view/item/context 右键菜单(viewItem 上下文键)。
  • 测试:新增 changelist-grouper(5)+ git-status-map(9)单元测试;集成测试覆盖全部 M1 命令注册。

验收(本地全绿)

结果
check-types / lint / package ✅(dist 10.04 KB)
test:unit(Vitest) ✅ 23/23
test:integration(test-electron) ✅ 1/1(全部 M1 命令注册)
vsce package hyper-git-0.2.0.vsix(11.81 KB)

工程修复(随附)

后续

M2 Commit 提交窗口(模板 / Amend / Conventional Commits 校验 / Checkin hook 链)。

🤖 Generated with Claude Code

🤖 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<threefish.ai@gmail.com>
🤖 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<threefish.ai@gmail.com>
🤖 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<threefish.ai@gmail.com>
🤖 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<threefish.ai@gmail.com>
@ThreeFish-AI
ThreeFish-AI merged commit fcec204 into feature/1.x.x Jun 27, 2026
4 checks passed
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/m1-git-adapter-changes branch June 27, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant