最近被 aider 这个工具种草了, aider 是一个终端的 AI 结对编程工具, 可以对接很多 AI 模型, 包括我最近超爱的 OpenRouter。
aider 这个工具最强大的地方在于它的代码地图 功能:
- 首先, 它使用 tree-sitter 分析代码仓库的代码地图, 包括最重要的类和函数及其类型和调用签名
- 其次, 它将代码地图和用户的请求一起发给 AI, 帮助 AI 理解多个代码和函数之间的关系
- 最后, 当 AI 需要查看具体文件或函数的实现时, aider 会自动将具体的实现发给 AI
这样的好处是, AI 不光是能写一些小的验证型 demo, 还能借助代码地图真正的修一些真实项目里面的 bug, 比如我晚上修复的 eaf-git delete hunk 补丁, 整个补丁全程是我问问题, aider 自动写补丁, 甚至可以补丁之上继续写补丁, 直到我验证通过, 真的非常方便。
aider 这种编程方式不仅仅是节省了粘贴复制 AI 生成代码的时间, 更重要的是自动提供代码仓库信息生成补丁, 真的节省了太多时间了, 强烈推荐 Vim/Emacs 党使用。
Emacs 党可以参考我的配置