以前都是用的find,或者VScode里面的浏览,但是到了Android这个就不行了,代码太多了。新公司都在用OpenGrok,所以俺也必须用一下。
这里有两个步骤,一个是安装,是一个使用。
1 安装
大概看了一下,安装是tomcat+opengrok
下载的地址是:https://github.com/oracle/opengrok/releases/tag/1.3.16
安装细节暂时就不细说了。。
2 使用
练手的话可以直接访问google网站:AndroidXRef
功能有如下:
- 可以搜索全文本,定义,符号,路径和修改记录(这个很重要,可以帮助我们回溯某一笔修改);
- 可以将搜索限制在某个子树(简单来说就是可以将搜索范围限制在某个子目录下)
- 可以增量更新索引(也就是说)
- 支持google搜索类似搜索语法
- 支持搜索某个时间段内被修改的文件
- 支持使用通配符比如*或?
- 支持在搜索结果中显示匹配的行
- 为版本控制工具(如Mercurial,CVS,SVN,SCCS和TeamWare)提供了只读的web接口,包括文件修改提交记录/任何两个版本的文件差异(像udiffs和sdiffs)
- 支持在线交叉引用查询,包括语法高亮,可通过CSS进行高度定制化的UI显示
- 可拓展性强,可为新的编程语言和新的版本控制工具编写插件;
大体就是这个框。
其实对于开发者来说,有几个要知道的。
如何切换仓库或者版本。
--从介绍上来看是在进入的时候选择不同的分支。
搜索技巧
Full Search: 进行全文搜索
Definition:搜索符号定义相关的代码
Symbol:搜索符号
File Path:搜索源码文件名中包含给定字符串的文件
实践中其实就两点注意的:
1 大部分用的还是Full Search那个,但是搜索的时候有带引号和不带引号。用于多词的时候,带引号就是精准匹配。此外,这里是支持通配符的,有*和?。
2 这个只是方便搜索,安卓确实越搞越垃圾,代码大的离谱,传统的方法grep等确实很难用了。归根结底还是要对代码框架熟悉。
至于上面说的那些高级功能,空了再看看呢。。。
参考: