Hogwarts测试开发
06-23·北京测吧员工
OpenCode 内置工具大全(二)
三、内置工具拆解:10+ 工具怎么用、为什么这么设计OpenCode 官方文档列出了全部内置工具。我们挑最核心的几个讲清楚。3.1 glob:别一个个找了,用模式匹配glob 解决的是“找文件”的问题。你有一个项目,几百个文件。你想找所有 *.test.ts 文件,或者 src/components/**/*.tsx。手动找太慢,IDE搜索有时不够灵活。glob 用模式匹配搞定。**/*.js # 所有子目录下的 .js 文件src/**/*.ts # src 目录下所有 .ts 文件*.{ts,tsx} # 所有 .ts 或 .tsx 文件glob 的返回值按修改时间排序——这意味着 AI 拿到结果时,最近改过的文件排在前面。这是个细节,但在实际任务中很关键:AI 通常应该优先关注最近变更的文件。底层用的是 ripgrep。默认遵循 .gitignore,不会把 node_modules 里的东西翻出来。3.2 grep:搜内容,不是搜文件名glob 找的是文件名。grep 找的是文件内容。你想知道哪些文件里调用了 useAuth,或者哪里有 console.log 忘了删。grep 用正则表达式扫一遍代码库,返回匹配的文件和行。# 概念示例:搜索所有包含 "userService" 的文件grep pattern="userService"grep 可以配合 glob 的 include 参数一起用——先用 glob 限定文件范围,再在范围内搜内容。这种组合拳在实际任务中极其常见。同样基于 ripgrep,同样遵循 .gitignore。3.3 read:读文件,但要读得聪明read 就是读文件。听起来简单,但实现上有两个设计点值得注意:第一,支持行范围读取。 大文件不可能全读,token 成本太高。read 可以指定从哪行读到哪行,只取需要的部分。第二,它是其他工具的基础。 edit 要改文件,得先 read 知道原文是什么。grep 找到匹配行之后,要读上下文才能理解完整逻辑。
发布于 北京
分享
评论
赞
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn