SuperAPI AI 工具集

ast-grep

编程与开发

查看项目

更新于 10-16 09:31

技能介绍

用途:ast-grep(命令为 sg)是面向代码结构的搜索与重构工具,匹配代码的 AST 结构而非文本。资料建议在搜索代码结构时用 ast-grep 替代 grep/ripgrep;grep 仍适用于非代码文件、路径或全文文档搜索。

主要能力:支持结构搜索、重构替换(可先 --dry-run 预演)、JSON 输出解析,以及用 YAML 规则文件(sg scan --rule rules.yml .)做多模式扫描。模式语法含 $VAR(单标识符)、$_(任意单节点通配)、$$$(零或多个项)、$$(可选元素)。资料给出 Go、Python、Bash、Terraform/HCL 的模式示例,如 Go 函数定义 sg -p 'func $NAME($$$) $$$' -l go .、Python 类定义 sg -p 'class $NAME: $$$' -l python .。

用法:基本搜索 sg -p 'pattern' -l go .;带上下文加 -C 3;JSON 输出加 --json;替换用 sg -p 'old' -r 'new' -l python --dry-run .。具体命令与模式请保持原样。

适用场景:查找函数/类/方法、发现反模式(如 Go 裸 error 返回、Python 可变默认参数、Bash 反引号)、安全审计(SQL/命令注入、硬编码凭据)、性能问题与定位 TODO/FIXME。

限制:资料主要面向上述语言,其他语言支持暂未提供;安装方式、收费、价格和平台信息暂未提供;示例命令需按实际环境调整。