本地代码搜索
安装与注意事项
当工具缺失、将本技能安装到另一台机器、检查加速情况或更新时,请阅读设置与故障排除。不要仅仅因为一个普通的代码任务调用了本技能就安装或重新配置工具。可选的便携式 cgrep 辅助脚本 提供搜索标志;平台特定的设置及其限制在设置文档中说明。
从代码概览开始
在编码会话开始时,以及开始调查重构或复杂代码问题之前,请先阅读仓库的说明和相关项目指南,然后在进行广泛的源码阅读或实现规划之前,使用范围化的代码概览作为第一轮代码导航。阅读概览子指南。
选择最小的相关包、目录或文件;默认情况下不要对整个单体仓库进行概览。如果区域未知,请使用文件名或有针对性的 ColGREP 查询来查找候选对象,然后对它们进行概览。重复使用当前会话中已有的概览;在结构性编辑后刷新受影响的文件。简单的精确查找、对已理解代码的小改动以及非代码对话可以直接进行。这是一个工作习惯,不是后台进程或每次交互都需要执行的扫描。
选择下一个工具
根据已知的目标信息进行选择,并仅阅读相关的子指南。这些指南属于本技能,而非独立的技能注册。
| 需求 | 工具 | 子指南 |
|---|---|---|
| 会话导向、重构范围或复杂代码调查 | ast-grep outline | 先做概览 |
| 精确字符串、错误消息、文件名或简单标识符出现位置 | rg | 精确搜索 |
| 根据行为描述查找实现 | ColGREP / cgrep | 语义发现 |
| 代码结构内的语法和关系、可重复的基于语法的更改 | ast-grep | 结构化搜索 |
当相关区域已知时,从狭窄的文件或目录范围开始。通常的流程是:先用 ColGREP 发现候选对象,然后用 rg 检查已知符号,最后用 ast-grep 细化语法模式。不要自动运行所有三个工具。使用原生代理工具进行文件读/写、测试和 git 操作。
搜索结果定位候选对象;在做出行为声明之前,请检查相关源代码。不要将语法匹配视为类型解析后的引用。
一个规范化的安装实例同时为 Codex 和 Claude Code 服务。在此处维护工具指南;不要重新安装独立的工具技能或激活重复的搜索钩子。