CodeBuddy的搜索功能,玩的是语义理解那一套——说白了,它不是在硬抠关键词,而是能读懂你那些“人话”,然后直接连到代码深处。只要你把需求描述清楚,函数、类、调用链甚至跨文件逻辑都能精准定位。这比传统关键词搜索强太多,省去不少猜变量名和写正则的功夫。

不过想用上这功能,得先做点准备工作——给项目建个索引。没有索引,语义理解就无从谈起。具体分几步走:
开启并刷新项目索引
- 打开 CodeBuddy IDE(或 VS Code 插件),进入 Settings → Project Indexing
- 把 RAG Index 开关 打开,确保状态是启用
- 点一下 Refresh Index,等它提示 “Indexing completed (X files, Y functions)” 就行了
- 确认当前工作区是代码库根目录,而且
.gitignore没有把src/或app/这些关键源码路径排除掉
索引建好以后,就可以进入正题了。
用自然语言发起搜索
不需要写正则,也不用猜变量名——就跟跟同事描述需求一样,直接问。
- 在 IDE 右下角对话面板打一句:“用户密码错误时最多允许重试三次,并记录失败次数”
- 回车,结果立刻显示,带高亮行号、文件路径、函数名、匹配置信度(比如 89%),还有上下文摘要
- 点任意结果,自动跳转到对应代码行;右侧侧边栏还会展开调用图谱和依赖模块说明
加限定词缩小范围
项目一大,结果列表容易刷屏。这时候加个限定词,能大幅减少干扰,提升准确率。
- 在查询末尾带上包名或模块名,比如:“在 auth 包里找 JWT 过期自动刷新的逻辑”
- 用元标签聚焦搜索粒度:@func 查函数、@class 查类、@file 查文件,例如:“@func 实现订单超时自动取消的入口方法”
- 跨语言或技术栈时最好提一下,比如:“用 Python 写的手机号脱敏函数,支持正则替换”
遇到模糊结果可交互澄清
第一次搜索不够准?别急,CodeBuddy 会主动追问,帮你补全关键约束。
- 比如你搜“处理支付回调”,它可能反问:“是指微信支付?还是支付宝?是否需要验签和幂等校验?”
- 你回一句“微信,要验签和记录日志”,系统立刻重新检索并优化排序
- 这个过程支持多轮细化,直到命中真正的目标为止
