装了 Octotree,我再也没被 GitHub 的目录折磨过
昨天晚上十一点多,我在公司楼下吹风,手里那杯美式都凉透了…有人在群里问我:“哥你平时看 GitHub 大仓库怎么定位文件啊?”我下意识就回:用 Octotree 呀,那个侧边文件树…结果一圈人说没用过。我一急就开始叭叭,回家路上地铁上还在讲,算了我整理下,像群里那种——语音转文字那味儿你们懂的,可能有点断断续续,你将就看。
先说死结在哪儿——GitHub 自带的文件列表,翻来翻去的很累,尤其 mono 仓库,一个 packages 目录里几百个包,手指头滚到抽筋。Octotree 这个插件就是…怎么说呢…把“文件树”塞到浏览器左侧边栏,鼠标一点,目录像 VS Code 那样开合,搜文件、跳定义、看 PR 里改了哪些文件,唰一下就到了。就这个点,当场把我以前那堆增强插件卸了半拉。
为啥我会用它?说人话啊,是被折磨的。以前我用浏览器自带查找 ctrl+f,那个目录只会搜当前页,跨目录不行,深一点就废。而且 GitHub 的 UI…嗯,挺好看但不是给查目录的人设计的。后来朋友安利 Octotree,说“侧边树开了就不回头”,我抱着试试的心态装上,卧槽,真香。选个 repo,浏览器右上角那个小橙叶子一戳,左边刷地弹出一棵树,键盘上下就能跳,回车就开文件,像在本地一样。
怎么玩?简单到离谱,真的。你装好插件——我不念教程了,你们自己搜 Chrome 应用商店“Octotree”就行。开一个 GitHub 仓库页面:
看树:左侧自动出现目录树,没有就点插件图标,或者按一下…那个快捷键叫什么来着…总之我改成了 Alt+O,手感顺。 搜文件:在树上方有个搜索框,敲 service,立刻把所有service/*甚至UserService.ts都筛出来,按↑↓就能切。这个比 GitHub 的全仓搜索快多了,至少“定位文件”这个需求它是秒开的。看 PR:进 Pull Request 页,它会把改动过的文件列成树,文件多的时候能按目录折叠,像代码评审里“先看 /core,再看 /web”,不会乱。嗯…还有一个小细节,点某个文件,右上角有 copy permalinks 的小按钮,一键拿到带 commit hash 的链接,扔给同事——“就这行”,指哪打哪。 书签:我经常把 config/、scripts/release.sh这种常看的 pin 一下,置顶,回过头来不找不丢。有人问在哪儿 pin?在文件节点上右键,菜单里…你看到就懂。模式切换:暗色模式跟浏览器同步,不刺眼,半夜看 PR 眼睛不花,这个必须夸。
等等我接杯水…好了继续。坑也不是没有,第一次我确实小翻车:
私有仓库权限。它需要 token 才能索引私有 repo,我开始直接点允许,结果 GitHub 提示 scope 太大我慌了。建议你们自己新建一个最小权限的 Personal Access Token,repo:read 就够,多了心里不踏实。填到 Octotree 的设置页里,立刻搞定。没 token 的话你会发现树只在开源仓库好使,私有的空空的,别怪它。 快捷键冲突。这个老问题了,我的 Vimium 抢了好几个按键,Octotree 切树不灵。解决就两个字:改键。插件设置里都能配,改成你肌肉记忆能接受的,不然容易骂娘。 跟别的“GitHub UI 美化”插件打架。有一阵子某个样式插件把左侧宽度写死了,Octotree 挤得像牙缝,我还以为树坏了。关掉那个样式或把 z-index 调一下就好。总之别全都装,工具能覆盖 80% 就够了,别凑热闹。 网络。有时候你会发现树转圈圈,不是它慢,是 GitHub API 限流。解决也简单——登录态+token+等等…咳我没说等等,刷新一下。
使用场景我这边是真封神,随便挑几个你们代入下:
看大仓:上周看一个 3w+ 文件的 monorepo,在楼下抽烟的时候,我边点边看模块划分,十分钟把目录脉络走了一遍,直接定位到 packages/core/auth/**,不然真会迷路。PR 走查:实话讲,GitHub 默认那个“Changed files”列表在文件很多时很乱。用树折叠,按目录一层层扫,先过协议层、再业务层,最后看脚本。出错文件夹一眼看见红点,心态稳得多。 学习/扒实现:我看别人库,比如 axios、vite,你就展开 src/,从core→adapters→helpers顺藤摸瓜,比点面包屑省事儿太多。顺手 pin 两个关键文件,后面来回跳。面试准备:有同学让我带着过项目,把公司开源的子项目结构讲给他听,我现场用 Octotree 一路点,像白板一样,几分钟讲清楚“这个模块负责啥”。这个真的省力。 CI/CD 追问题:排查 scripts/下的发布脚本,一眼定位多个仓都有的publish.ts,跨 repo 记路径靠手点,少走弯路。
爽点我给你们划重点,嗯就那几个字儿:
目录树秒开,不卡不拖泥带水,像本地 IDE。 搜文件是实时的,感觉像 fuzzy 匹配,错几个字也能捞出来。 PR 文件树折叠,评审效率直接飞起。 置顶、拷贝永久链接这些小细节太到位,沟通成本直线下降。
限制也别装没看见哈:
离线?想都别想,它本质还是拉 GitHub 接口,得上网。 极端大仓+网络差,偶尔会 hit API rate limit,刷不出内容。加 token 或者歇两分钟,再说一句…真的别骂它。 一些高级玩意儿(比如跨仓全局搜索代码片段、批量比较)不在它职责里,别给它加戏。需要就去用源码搜索服务或者直接 clone 本地。 企业私有部署的 GitHub Enterprise,要确认域名在它“允许列表”里,不然它把你当普通网站就不工作,这个…设置里加一条就好。
怎么用才不翻车,我自己的小习惯抄去用就行:
安装后第一时间改快捷键,避免和你常用插件撞车。我的是 Alt+O 开/关树,Alt+P pin 文件,Alt+F 聚焦搜索框,手不离键盘。 配 token,权限最小化,心安理得。记得过期时间别太短,不然半夜 review 掉链子骂的还是你自己。 给不同 repo 存“展开状态”。比如后端服务我默认展开 internal/、cmd/,前端仓展开src/components、src/pages,进来就直奔主题。与浏览器侧栏宽度联动。别太窄,80–320px 之间找个舒服的值,超过就遮内容了。 PR 评审时按目录扫,别“以文件为单位”随机点,容易漏。树形结构逼自己自上而下。
啊对,有人问我是不是能“整页双栏 diff”那种——这个要看你们自己 GitHub 的 UI 设置,Octotree 主要是“导航”和“定位”,别指望它替你写 code review 评论。它帮你到位,剩下得你自己看。
最后给你个一秒钟起飞的流程:打开任意 GitHub PR → Alt+O 弹树 → 搜“auth” → ↑↓定位到 middleware/auth.ts → 回车 → 右上 copy permalink 丢给同事小李,“就这个 case 处理下”。全程十几秒,我不夸张。昨天我在地铁 13 号线里就这么操作的,手机热点都断断续续的,还能干事儿。