我正在使用一些具有以下风格的代码:
int
add5 (int x) {
return x+5;
}
换句话说,函数的返回值类型写在函数名称的正上方。正因为如此,ctags
没有认识到这些功能,让我非常头疼。有人知道如何让ctags
来处理这个案子吗?
编辑:ctags
可以识别.c文件上的函数名称,但我需要的是ctags
识别.h
文件上的函数名称。在.h文件上,我有如下内容:
int
add5 (int);
并且ctags
不认识add5
.
你必须告诉ctags
搜索函数的原型。它是通过--<LANG>-kinds
选项完成的。
因此,运行以下命令:
ctags --c-kinds=+p *
它会将声明添加到tags
文件中,正如您在我的测试输出中看到的那样:
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME Exuberant Ctags //
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
!_TAG_PROGRAM_VERSION 5.8 //
add5 add.h /^add5 (int);$/;" p
在我看来,ctags
正在识别该函数但没有找到其声明。
实际上,如果在头文件中创建此函数:
int
plus(int a,int b) {
return a+b;
}
ctags
可以找到它。