I am using Taglist plugin in vim. In the tag开发者_JAVA百科list window i can see tags like namespaces, classes, struct, function but not variables. I saw a screenshot(attached below) on Taglist website which had this info. I am using Vim 7 and Exuberant Ctags 5.8, and i have generated my ctags using this command
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
(source: sourceforge.net) There is a variable s:tlist_def_cpp_settings
in Taglist plugin (.vim/plugin/taglist.vim) that defines which elements are shown by default.
I extended it to:
let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
\ 'c:class;g:enum;s:struct;u:union;f:function;m:member;' .
\ 'p:prototype'
According to taglist manual you can also define tlist_cpp_settings
in your .vimrc
with similar value.
For other languages different variables exist.
As far as I know, the Taglist plugin shows only the variables which have file scope. It does not show variables which have only function scope.
For a quick test just add a variable of any type at the start of your source file, save the source file, set cursor into the taglist window and press u to update taglist. Now this variable should appear in the taglist window. This works for my C files.
By the way:
... and i have generated my ctags using this command
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
Do you mean that you generate your own tags file for the taglist plugin using these ctags options? To my knowledge taglist uses its own ctags options and generates a temporary tag file. The user has no influence on the ctags options and the tags file.
精彩评论