生成的ctags不完整,但为什么呢?

时间:2011-10-25 15:40:09

标签: vim tags glib ctags

我尝试为glib创建taglist,所以我尝试了以下内容:

%> cd ~/.vim/tags/
%> ctags -o glib -R --sort=yes /usr/include/glib-2.0/
%> grep g_hash glib
g_hash_table_freeze /usr/include/glib-2.0/glib/ghash.h  125;"   d
g_hash_table_thaw   /usr/include/glib-2.0/glib/ghash.h  134;"   d

嗯,这里没有包括g_hash_table_new()之类的内容,我是否错过了重要的内容?

谢谢!

1 个答案:

答案 0 :(得分:2)

对我而言,这有效:

ctags -o glib.tags -R --c++-kinds=+p --fields=+iaS --sort=yes glib-2.0

(Exuberant Ctags 5.7,Win 32)

这里重要的选项是+p。这会将函数原型添加到标记文件中。 这是必要的,因为您只扫描.h - 文件而不扫描.c / .cpp - 文件。从而 ctags“只看到”原型。

g_hash_table_freezeg_hash_table_thaw被标记为没有+p选项,因为它们只是定义,而不是函数原型。