Как отобразить переменные в окне Taglist в vim

Я использую плагин Taglist в vim. В окне taglist я могу видеть теги, такие как пространства имен, классы, структура, функции, но не переменные. Я видел скриншот (прилагается ниже) на сайте Taglist, на котором была эта информация. Я использую Vim 7 и Exuberant Ctags 5.8, и я сгенерировал свои ctags с помощью этой команды

ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

http://vim-taglist.sourceforge.net/images/taglist_c.gif

2 ответа

Решение

Есть переменная s:tlist_def_cpp_settings в плагине Taglist (.vim/plugin/taglist.vim), который определяет, какие элементы показываются по умолчанию.

Я расширил это до:

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'

Согласно руководству по taglist вы также можете определить tlist_cpp_settings в вашем .vimrc с аналогичным значением.

Для других языков существуют разные переменные.

Насколько я знаю, плагин Taglist показывает только те переменные, которые имеют область видимости файла. Он не показывает переменные, которые имеют только область действия функции.

Для быстрого теста просто добавьте переменную любого типа в начале вашего исходного файла, сохраните исходный файл, установите курсор в окно списка тегов и нажмите u, чтобы обновить список тегов. Теперь эта переменная должна появиться в окне taglist. Это работает для моих C файлов.

Кстати:

... и я сгенерировал мои ctags, используя эту команду

ctags --C++- types=+p --fields=+iaS --extra=+q --language-force=C++

Вы имеете в виду, что вы генерируете свой собственный файл тегов для плагина taglist, используя эти опции ctags? Насколько мне известно, taglist использует собственные параметры ctags и создает временный файл тегов. Пользователь не имеет никакого влияния на параметры ctags и файл тегов.

Другие вопросы по тегам