Como exibir variáveis na janela Taglist no vim
Pergunta
Estou usando o plugin Taglist no vim.Na janela taglist posso ver tags como namespaces, classes, struct, função, mas não variáveis.Eu vi uma captura de tela (anexada abaixo) no site Taglist que continha essa informação.Estou usando o Vim 7 e o Exuberant Ctags 5.8 e gerei meus ctags usando este comando
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
(fonte: sourceforge.net)
Solução
Há uma variável s:tlist_def_cpp_settings
no plug -in taglist (.vim/plugin/taglist.vim) que define quais elementos são mostrados por padrão.
Eu estendi para:
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'
De acordo com o manual da taglist, você também pode definir tlist_cpp_settings
na tua .vimrc
com valor semelhante.
Para outros idiomas, existem diferentes variáveis.
Outras dicas
Até onde eu sei, o plug -in taglist mostra apenas as variáveis que possuem escopo de arquivo.Não mostra variáveis que possuem apenas escopo de função.
Para um teste rápido, basta adicionar uma variável de qualquer tipo no início do seu arquivo de origem, salve o arquivo de origem, defina cursor na janela Taglist e pressione U para atualizar o TagList.Agora esta variável deve aparecer na janela taglist.Isso funciona para meus arquivos C.
Por falar nisso:
...e eu gerei meus ctags usando este comando
ctags --c++-kinds=+p --fields=+iaS --extra=+q --linguagem-force=C++
Você quer dizer que você gera seu próprio arquivo de tags para o plug -in taglist usando essas opções CTAGs?Para meu conhecimento, a Taglist usa suas próprias opções de CTAGS e gera um arquivo de tag temporário.O usuário não tem influência nas opções ctags e no arquivo de tags.