当前位置:首页>java>我写了一个“代码伴生笔记”:读代码的时候,终于能像写笔记一样顺手了

我写了一个“代码伴生笔记”:读代码的时候,终于能像写笔记一样顺手了

  • 2026-10-11 17:29:14
我写了一个“代码伴生笔记”:读代码的时候,终于能像写笔记一样顺手了

你有没有这种体验?

面对陌生项目,左侧文件树密密麻麻,右侧 IDE 窗口大开,脑海中不断闪过——“这个模块是做什么的?”“这段逻辑为什么这样写?”“这个坑明天我肯定还会踩”……

于是你开始写注释、记笔记、开文档……但很快陷入这样的循环:

  • 注释写在代码里,污染仓库、PR 差异杂乱、重构后注释过期无人维护;

  • 笔记写在外部工具,与文件路径脱节,过几天就找不到“当时这条笔记对应的是哪个文件”;

  • AI 给的解释留在聊天记录里,当时很清晰,隔天就像从未发生过,无法检索、难以复用;

  • 最难受的是:读代码的过程是碎片化的,记录也是散的,在多个工具之间反复切换,体验越来越割裂。

为此,我做了一个Free轻量工具:《代码伴生笔记》。它不是另一个“知识库系统”,也不打算替代 IDE。它只想解决一个很具体的问题:

在阅读代码时,能把当下的理解随手记下来,并且永远知道这段理解对应的是哪个文件、哪段代码。

读代码时,最难受的痛点到底是什么?

我总结下来,主要是这几类:

1. 注释的天然局限

注释适合说明“这段代码在做什么”,却不适合记录:

  • 我为什么这样理解、当时踩过什么坑、有哪些边界条件;

  • 需要配图、架构图或流程图才能说清楚的逻辑;

  • 较长的推导过程、对比表格、参考资料引用;

  • 调试时发现的“隐藏规律”或非正式约定。

更现实的是,注释一旦进入代码库,就容易带来副作用:

  • PR 里混杂大量注释改动,干扰代码审阅;

  • 同事不敢轻易删除陈旧注释,怕误删重要信息;

  • 代码重构后,注释容易过时,反而形成误导。

2. 通用笔记工具对代码场景不够友好

用 Obsidian、Notion 或语雀当然可以记笔记,但很难彻底解决一个问题:

  • 笔记结构无法自然映射到项目文件树结果就是,你得手动维护笔记与文件的对应关系,靠记忆或命名规范来关联。项目一大、跨项目一多,这种关联很容易断裂。

3. AI 编程让“理解”更容易丢失

AI 解释代码的能力很强,但它的输出默认停留在聊天窗口中:

  • 今天问过的问题,明天很难再找回当时的解释;

  • AI 的解答无法自动关联到具体的文件上下文;

  • Token 有限且昂贵,很多时候你并不需要把整个文件喂给 AI,只想针对选中的几行代码获得解释。

《代码伴生笔记》是怎么做的?它的核心设计只有一句话:

笔记结构完全镜像项目目录结构,每个源代码文件都拥有自己独立的笔记空间。

界面分为三栏:

  • 左侧:项目文件树

  • 中间:只读代码预览(不在此编辑代码)

  • 右侧:伴生笔记编辑器(支持 Markdown、图片、LaTeX 公式)

点击左侧任意文件,右侧自动切换到对应的笔记。你在阅读 src/utils/parser.py 时写下的理解,就会永远跟随这个文件。

并且,笔记文件存储在源代码目录之外,彻底避免污染项目仓库。

一套顺手的“检索工作流”,我希望它就像代码的“第二浏览器”,检索方式也应贴合阅读习惯:先定位文件,再定位内容。

Ctrl + P:全局关键词检索

输入关键词,它会同时告诉你:

  • 哪些源代码文件中出现了该关键词;

  • 哪些笔记的标题或内容中包含该关键词。

点击结果即可直接打开对应文件或笔记。

Ctrl + K:文件内精确查找

在已打开的文件中使用:

  • 在源代码中查找,支持上下跳转;

  • 在笔记中查找,同样支持快速定位;

  • 编辑区和预览区会同步滚动,避免“找到了文字却不知道对应哪段代码”。

这种两段式检索,特别适合“知识回忆”:我记得某个概念或问题,但忘了具体记录在哪个文件的笔记里。

本笔记支持插图 & 渲染 LaTeX 公式

笔记使用 Markdown 语法,可直接粘贴图片:

  • 图片自动保存到 assets/ 目录

  • 自动插入图片引用

  • 预览区直接显示

笔记也支持LaTeX 公式渲染,在记录算法推导、数学公式或复杂逻辑时,会顺手很多。

AI 解读选中代码(省 Token,更聚焦)

在代码区选中一段 → 右键 → “AI 解读选区”。

设计目标是:

  • 只发送选中的代码(而非整个文件)

  • 将 AI 的解释一键插入当前笔记,沉淀为长期知识

AI配置支持以下方式:

  • 本地 Ollama(推荐,隐私无忧)

  • OpenAI 兼容接口(需自行配置 endpoint、model、apiKey)

它适合谁?

我在设计时,心里一直想着这几类场景:

  • 你正在接手一个陌生或遗留项目,需要快速建立系统认知;

  • 你在阅读开源项目或论文代码,希望将理解过程系统沉淀;

  • 你想把 AI 的代码解释从聊天记录变成可检索、可复用的知识资产;

  • 你用 vibe coding 生成了大量代码,希望有一个与项目结构同步的笔记窗口;

  • 你写过很多笔记,却总觉得它们和实际代码“各走各的路”。

下载与使用(极简指引)

目前提供了 Windows 安装包(后续将逐步完善并开源)。

建议使用顺序:

  1. 安装并启动

  2. 设置“笔记根目录”(请放在源代码目录外)

  3. 加载你的项目目录,让笔记与项目树对应起来

  4. 点击文件,开始记录理解

  5. 选中代码可插入笔记,可AI解读以及解读后插入笔记

  6. 笔记编辑区可插入图片,LaTeX公式

  7. 随时使用 Ctrl+P 全局检索 → Ctrl+K 文件内定位

最后:我为什么做这个?

坦白说,就是因为我自己长期受困于“读完就忘、问过就丢”的状态。

读代码最昂贵的并不是“看一遍”的时间,而是:

  • 理解它的思考过程;

  • 以及将这份理解转化为日后可复用的知识。

这个工具对我而言,就像一个“代码阅读的外挂记忆体”:把碎片化的理解安放在正确的位置,并且随时都能找回来。

如果你也有同样的痛点,欢迎下载试试看。如果你愿意提供反馈,我会非常感激:

  • 你最希望用它解决哪个具体场景?

  • 你期待加入什么功能,能让它更像“IDE 的阅读模式”?

  • 你是否在意“完全本地运行、不上传任何数据”这一点?

让理解代码,变得可记录、可沉淀、可找回。

更多说明见:

GitHub:https://github.com/nscwangyehui-code/codebook

最新文章

随机文章