代码浏览工具OpenGrok

OpenGrok是一款强大的跨平台代码阅读工具,许多在线源码查看网站都是使用它来搭建的,比如著名的Android在线源码查看网站androidxref.






OpenGrok特性

OpenGrok 提供如下特性:

  • 1.快速搜索代码的引擎

    搜索全文、定义、符号、文件路径和修改历史

    搜索任意指定子目录(分层搜索)

    增量更新索引文件

  • 2.支持类似 Google 的查询语法,比如 path:Makefile defs:target

    搜索日期范围内修改的文件

    支持使用通配符搜索,如 * 表示多个字符,? 表示单个字符

    在搜索结果中展示匹配行

  • 3.一个 Web 只读版的版本历史查看界面

    文件的修改日志

    文件在两个版本间的 diff

    文件夹的历史记录

  • 4.带语法高亮的交叉引用显示,可以使用 CSS 自定义样式

    可以开发插件支持新的语言和版本控制系统

    已经支持的语言: Supported Languages and Formats

    已经支持的版本控制系统:Supported Revision Control Systems






在macOS平台搭建OpenGrok

安装

1.安装tomcat

1
$ brew install tomcat

2.安装ctags

1
$ brew install ctags

3.安装OpenGrok

1
$ wget -O - http://java.net/projects/opengrok/downloads/download/opengrok-0.12.1.tar.gz | tar xvz

开启tomcat

方法1:cd到tomcat所在目录,然后执行命令,

1
2
$ catalina start
$ open http://localhost:8080/source

方法2:下载macOS下的GUI程序TomcatController
配置tomcat所在目录。

开启openGrok项目

openGrok其实就是一个webapp

导入项目

比如导入ffmpeg,在opengrok目录下创建一个local_src文件夹,把ffmpeg文件夹通过软引用的方式链到local_src下的src目录,这样就能让opengrok找到ffmpeg的代码了。

建立索引

打开浏览器

访问 http://localhost:8080/source 就能看到代码了。


参考

http://blog.simplypatrick.com/2015/01/16/opengrok-on-mac-osx/

https://zhuanlan.zhihu.com/p/24369747

https://github.com/OpenGrok/OpenGrok/wiki/Features

http://bytesthink.com/blog/?p=184