在ubuntu下运行apt-get install ctags
ctags是产生标记文件以帮助在源文件中定位对象。
其生成的标记文件tags中包含这些对象的列表:
- 用#define定义的宏
- 枚举型的变量的值
- 函数的定义、原型和声明
- 名字空间{namespace}
- 类型定义{typedefs}
- 变量{包含定义和声明}
- 类{class}、结构{struct}、枚举类型{enum}、联合{union}
- 类、结构和联合中成员变量和函数
常用参数:
- -R 循环成成子目录的tags
- -c++-kinds=+px 记录c++文件中的函数声明和各种外部和前向声明
- -fields=+laS 要求描述的信息,其中l表示如果有继承,则表示出父类;a表示如果元素是类成员的话,要标明其调用权限(是public的还是private的);S表示如果是函数,则标明函数的signature。
- -extra=+q 如果某个语法元素是类的一个成员,ctags默认会给其记录一行,可以要求ctags对同一个语法元素在记一行,这样可以保证在VIM中多个同名函数可以通过路径不同来区分。
ctags -R -c++-kinds=+px-fields=+laS -extra=+q .