开发者

How to display variables in Taglist window in vim

开发者 https://www.devze.com 2022-12-22 05:20 出处:网络
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 websit

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++

How to display variables in Taglist window in vim

(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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号