Почему комбинация cscope и ctags в vim показывает результаты для определения функции, не связанной с классом?

Я использую cscope и ctags в редакторе vim для проекта c ++. Я создал ctags и cscope файлы, как показано ниже, в корне проекта.

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" > cscope.files
cscope -q -R -b -i cscope.files

Содержимое моего файла ~ / .vimrc указано ниже.

set tags+=./tags;/
filetype plugin on

cs add $CSCOPE_DB

Я добавил ниже строку в .bashrc

export CSCOPE_DB=/home/kadina/build/platform/component/platform/stb/cscope.out

И я скачал cscope_maps.vim из Интернета и поместил его в ~ / .vim / plugin /

Но когда я попытался найти определение функции с помощью ctrl +}, он перечисляет все определения функций с одинаковым именем вместо перехода к правильной функции.

Например, когда я попытался найти определение VZ_DIAGNOSTICS :: getInstance (), он не переходит к определению VZ_DIAGNOSTICS :: getInstance (), а перечисляет все определения функций с именем getInstance ().

Я столкнулся с той же проблемой, когда пытался найти, кто вызывает эту функцию, с помощью ctrl + \ + c. Он перечисляет функции, которые вызывают getInstance (), вместо перечисления функций, которые вызывают VZ_DIAGNOSTICS :: getInstance ().

Может кто-нибудь, пожалуйста, дайте мне знать, какие изменения мне нужно внести, чтобы правильно работать эти вещи?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]