Как отобразить переменные в окне Taglist в vim - PullRequest
9 голосов
/ 05 марта 2010

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

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

alt text
(источник: sourceforge.net )

Ответы [ 2 ]

8 голосов
/ 10 июня 2011

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

Я расширил его до:

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'

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

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

1 голос
/ 09 марта 2010

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

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

Кстати:

... и я сгенерировал свои ctags с помощью этой команды

ctags --c ++ - types = + p - поля = + iaS --extra = + q --language-force = C ++

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

...