介绍两个辅助开发的工具

2060阅读 0评论2006-10-08 rushrush
分类:C/C++

在c++开发中使用vim和ctags
译自:

如果你所有的源代码都在一个文件夹树内,那么可以简单的运行这个命令:
ctags --recurse --language-force=c++ --extra=+q --fields=+i *.cpp *.h
然后你就可以用多种方式穿梭于源代码中。在下面THE_TAG用于代表你要跳转的东西。
1.当光标在THE_TAG上的时候按 "g ctrl+]"
2.":ts THE_TAG" 或 ":tselect THE_TAG"
3.":sts THE_TAG"
4.当光标在THE_TAG上的时候按 "ctrl+]"
5.":ta THE_TAG" 或 ":tag THE_TAG"
6.":sta THE_TAG"
7."ctrl+t" 将让你回到跳转前的地方。

第1,2,3条会让你在一些tags里选择.
第4,5,6条会直接把你代到第一个可能的tag,
第1,4条在vim普通模式下使用.
第2,5条是在命令模式下使用.
第3,6条跟第2,5条一样,只是会打开一个新窗口显示跳转的内容.

这个命令可以解决找不到tag文件的问题:
set tags=/path/tags



global的使用方法

global与ctags一样,也是一个通过分析源代码来方便开发的工具.但是相比c
tags,global功能更强,更适合大型项目(只是c?).
global的常用功能有:
  1. 找到一个函数的定义,这个和ctags一样.
  2. 找到一个函数被使用的地方.(reference)
  3. 找到每个符号(除了函数名以外的标识符)出现的地方.
  4. 列出一个文件中的所有标签.
global可以单独作为一个命令使用,也可以和vim,emacs整合,由于我使用vim,就介绍一下vim里使用global的方法吧:
先安装global插件,在vim.org上搜索gtags脚本.下载后放到 ~/.vim/plugin/ 里.
然后cd到项目的根目录,运行:gtags,生成包含源代码信息的数据库.
用vim打开一个文件,光标移动到要查找的标识符.
:Gtags 查找函数的定义
:Gtags -r 查找函数被使用的地方
:Gtags -s 查找标识符被引用的地方
:Gtags -f 列出当前文件里的所有标签
这样global会在vim里打开一个叫quickfix的窗口,每一行列出查找到的条目.可以使用下列命令进行跳转:
:cn 下一个条目
:cp 上一个条目
:ccN 跳到第N个条目.
:cl 列出所有条目
也可以用鼠标双击,更方便!
基本功能就这么多,也基本上够用了.顺便再推荐一个vim的老牌插件:TagList 呵呵
btw:好像global对c++支持不够好,虽然它的主页上说支持c++.比如:不能区别成员函数所属的类,等等.
上一篇:没有了
下一篇:在linux下玩游戏