使用Doxygen+graphviz+Sublime2来看代码,查看函数调用关系 - 小众知识

使用Doxygen+graphviz+Sublime2来看代码,查看函数调用关系

2013年01月27日 14:18:05 苏内容
  标签: Doxygen/graphviz
阅读:7328

UPDATE:2013/5/21

经过一段时间的使用,发现还是sublime2+cscope就够了,如果需要使用cscope,首先去官网下载,然后在sublime2中下载cscope插件,最后在打开命令窗使用"cscope -Rbq",就可以在项目目录中生成相应代码索引,在sublime2中就可以迅速的找到函数调用关系了

 

这篇文章主要为那些不愿意学VIM或没买sourceinsight的人准备的,因为其实上述的两个工具已经能够很好的帮助我们看代码了。楼主之所以没有使用上述工具,一是觉得VIM的配色略丑,也不太熟练;二是目前Team没有SI的KEY,所以就找其他方法了,闲着也是闲着。好了,废话少说,进入正题,先给出效果图:

 

 

--doxygen 

 

--sublime2

 

这样我们就可以使用Doxygen查看代码,通过Graphviz产生函数调用图来看调用关系。可能有人会问,Sublime和vi有什么区别,为什么还需要使用它,原因主要有两个,一是搜索文件非常迅速,支持函数定位,变量定位,文件定位,速度很快,弥补了Doxygen找变量文件费力的问题;二是写代码确实很方便,可以安装各种插件。

 

安装方法:

1 下载Doxygen,去官网

2 下载Graphviz,去官网

3 下载Sublime text 2 ,去官网。。

 

使用:

1 Doxygen & Graphviz

打开Doxygen Wizard,会有配置面板,主要有向导和专家两种配置方式,建议在专家方式中选择自己需要的方式,

 

PROJECT标签:主要填写的是Doxygen的大的工作目录,本次项目的名字,输出目录,

BUILD标签:除了默认的,再勾选这些

 

sourcebrowser: 我需要查看代码,所以勾选Inline sources和souce Browser

Dot: 这里可以勾选CLASS_DIAGRAMS/HAVE_DOT/CALL_GRAPH/CALLER_GRAPH/DOT_PATH

 

然后就可以点RUN标签,运行后,会生成HTML,查看INDEX.HTML既可以看到结果。

可能会有些童鞋遇到无法生成或失败,检查dot文件能否运行,有的XP没有装.NET FRAMWORK2 会出问题

 

2 Sublime 2

sublime 的项目管理很简单,只要打开某个文件夹,在project中保存就可以了

我在使用的时候,装了几个插件:Alignment, Bracket Highlight, ctags .sublimecodeintel, sublimelinter, Themr

插件的具体使用方法就不多介绍了,网上搜搜一大堆。。

主要使用的快捷键: 

ctrl+p(快速定位项目中的文件)  

 

加上# 和 @ 分别为变量和函数,其实搜变量也能搜到函数。

 

如果装了CTAGS,那么还可以使用快速找到函数的定义,或者变量等等

 

 

总而言之,这是一个适合长久使用的工作方法,查看代码与编写代码。

不过Doxygen的缺点也是很明显的,对于大型工程,会遇到Crush或者速度非常慢(- -|)。但是呢,有利有弊是肯定的,只要用好了,习惯了就行。

扩展阅读