Skip to content

feat(libraries): official catalog and shared package/module dependency graphs - #19

Merged
Sunrisepeak merged 20 commits into
mainfrom
feat/libraries-ux
Oct 18, 2026
Merged

Sunrisepeak merged 20 commits into
mainfrom
feat/libraries-ux

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Libraries 默认来源限定为官方 mcpp-index,修复混入 xim 索引的问题,并分离索引缓存与项目状态。详情页集中版本和添加操作,项目选择位于右上角,使用方式、C++ 标准和许可证显示为彩色标签。依赖类型采用二级菜单;CLI 不支持的构建依赖和分组迁移提供准确 TOML 预览。

用法页读取真实官方测试快照或 checkout 测试,示例按钮与标题同行,源码统一只读打开;搜索只保留一个清除按钮。修复项目切换、锁文件变化和异步操作导致的过期展示。

项目侧栏按 Basics → Dependencies → Common commands 排列。Dependencies 默认折叠,只展示直接依赖的包坐标和 index/path/git 来源,点击可定位图节点。C++ Modules Deps 位于 Basics 内。

包依赖和 C++ Modules 共用离线 Mermaid 画布,支持滚轮锚点缩放、拖动、Fit、节点高亮、搜索聚焦、分支展开/收起及 3 / 5 / 全部深度选择。每次布局前投影可见子图,最多 150 节点、300 边;视图切换保留独立状态。包关系来自清单/描述符,lock 只补版本。

模块图直接消费依赖扩展所带 mcppls 的 JSON,不重新解析 C++。保留项目内部完整深度和一层直接外部模块(包括 path 包),显示 main/lib 入口与 import 关系;点击模块在旁边编辑器打开只读源码。当前上游全图最多返回 500 个模块,截断/索引中状态显式提示;缺失声明行号和重导出属性不会被猜测。

验证:

  • npm test:709 项通过。
  • 真实 VS Code 扩展宿主:五种语言服务变体,共 40 项通过。
  • 真实 Webview:20 场景通过,覆盖旧功能回归、模块入口、3/5/全部、分支展开、外部边界、只读源码及状态恢复。
  • 独立 Chromium 性能探测:1,000 节点深链/宽扇出及密集共享图,子图计算低于 1 ms;预算内 Mermaid 布局本机约 52–529 ms,非跨平台耗时保证。
  • VSIX 158 文件、约 1.38 MB;归档包含公共画布、离线 Mermaid、许可证和示例快照,无本地 profile/源码/设计文档泄漏。

设计方案(模块图见 §14) · 本地验收与截图

保留分阶段 checkpoint commits,PR 维持 draft 供 review。

全屏详情改为随编辑器宽度铺开,两侧边距 16–40px,辅助信息栏 240–320px,其余空间归示例代码。针对性验证 480–2560px × 深色/浅色/高对比,共 15 个布局组合通过;设计与验收文档附有宽屏截图。另修正 Windows 入口文件测试对路径分隔符的假设。

@Sunrisepeak Sunrisepeak changed the title fix(libraries): use official index and simplify project-aware package details feat(libraries): official catalog, real examples and project dependency graph Oct 18, 2026
@Sunrisepeak Sunrisepeak changed the title feat(libraries): official catalog, real examples and project dependency graph feat(libraries): official catalog and shared package/module dependency graphs Oct 18, 2026
@Sunrisepeak
Sunrisepeak marked this pull request as ready for review October 18, 2026 19:31
@Sunrisepeak
Sunrisepeak merged commit f667b5b into main Oct 18, 2026
11 checks passed
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