Codemap 上了 Hacker News:一条命令把 Go 仓库画成一页可点的地图
作者:许棠
开源小工具 Codemap 在 Hacker News 的 Show HN 版块亮相:一条命令把 Go 模块生成单个 HTML 页面,包依赖、文件函数都能搜索点击。目前热度很小,适合尝鲜,作者自述的核对数据尚无第三方实测。

一个叫 Codemap 的小工具刚在 Hacker News 的 Show HN 版块发帖:它能把一个 Go 模块画成一张 HTML 页面,每个包、包之间的依赖、每个文件里的函数都在图上,可以搜索,点开一个包就能看它用了谁、又被谁用 。帖子目前 18 分、4 条评论,讨论量还小 。
它想解决的事很具体:接手一个陌生的 Go 项目,不必从目录一层层翻。地图从下往上读,底层是基础包,顶上是命令入口;方块越宽函数越多,颜色对应顶层目录 。

用起来的门槛不高。在模块目录里,Go 1.24 以上跑一条 go run github.com/peterretief/codemap@latest -o code-map.html,再用浏览器打开文件即可,不用起服务,单个文件可以直接放到任何网站上;-root DIR 可以指定别的目录 。许可证是 MIT 。作者还给了 GitHub Actions 的接法,版本写到 v0.2.0 。
限制也得说清楚。地图会排除 vendor、testdata 和带独立 go.mod 的子目录,测试代码不画进去 。页面字体从 Google Fonts 加载,加载不到就退回系统字体,在内网或介意外联的环境里要留意这一点 。它面向 Go,作者另有 perl-codemap 处理 Perl,其他语言不在范围内 。作者称已用 cobra、gin、hugo、prometheus、kubernetes 与纯文本计数比对,包、文件、函数数一致;Kubernetes 的 1,278 个包、34,823 个函数两秒内出图、页面约 4.5 MB 。这些是作者自己的说法,目前没看到第三方复测。
一句话判断:这是个小工具,不是行业大事。想快速摸清陌生 Go 项目结构,值得试一次;至于长期维护和复杂仓库下的表现,先别急着当真。
转载说明
本文根据以下公开资料整理,原文及配图出处见下方。
- [S1] Show HN: Codemap – one-page interactive map of any Go repository
- 配图 1:来源:GitHub(图片署名见原文) · 图片出处
- 配图 2:来源:GitHub(图片署名见原文) · 图片出处
评论 0
还没有评论,来抢沙发。