feat(M1): Git Adapter + 多 changelist Changes 树视图 - #3
Merged
Conversation
🤖 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
落地 M1 里程碑:消费内置
vscode.git稳定 API,实现 IDEA 风格的多 changelist Changes 视图(路径 B 架构的首个用户可感知功能)。基于 工程实施方案 与 IDEA 功能矩阵。交付内容
adapter/git-repository-service.ts):封装vscode.git的RepositoryAPI,读取工作区/未跟踪变更(→ChangeItem),暴露状态变更事件、toGitUri/diff 委托。types/git.d.ts):裁剪版(接口保留、枚举改number),规避 esbuild 打包.d.ts中const enum的运行时取值问题;GitStatus数值镜像(adapter/git-status-map.ts)为单一事实源。adapter/changelist-registry.ts+ 引擎纯分组engine/changelist/grouper.ts):active 列表、新建/重命名/删除/移动,workspaceState 持久化、重启恢复(仿 IDEAChangeListManager)。adapter/tree/changes-tree.ts):changelist 一级节点 + 文件叶子;状态色复用gitDecoration.*主题色(ThemeIcon+ThemeColor);文件单击打开原生vscode.diff(HEAD ↔ Working)。view/item/context右键菜单(viewItem上下文键)。changelist-grouper(5)+git-status-map(9)单元测试;集成测试覆盖全部 M1 命令注册。验收(本地全绿)
check-types/lint/packagetest:unit(Vitest)test:integration(test-electron)vsce packagehyper-git-0.2.0.vsix(11.81 KB)工程修复(随附)
.vscode-test/**(规避本地 test-electron 下载的 VS Code 导致 lint OOM,已记.agents/issue.mdfix(Review): M0/M1/M2 审查修复(正确性 + 测试补齐) #5)。docs/(避免调研文档随扩展发布)。后续
M2 Commit 提交窗口(模板 / Amend / Conventional Commits 校验 / Checkin hook 链)。
🤖 Generated with Claude Code