Вопрос

Я использую плагин vim "taglist" для навигации по исходным файлам в моем проекте, но я столкнулся с проблемой, характерной для работы с файлами C ++ (в отличие от C; это может происходить с другими языками, такими как Java) .

Для каждой функции в файле будет отображаться два тега: один полностью определен, а другой нет, то есть:

родовое слово

и так далее. Это понятно, поскольку мой файл ctags генерируется с помощью --extra= + q, что, как указано на странице руководства для ctags,

<цитата>

Включите [s] дополнительную запись тега с указанием класса для каждого тега, который является членом класса (для языков, для которых эта информация извлекается; в настоящее время C ++, Eiffel и Java). Фактическая форма квалифицированного тега зависит от языка, из которого был получен тег (с использованием формы, наиболее естественной для того, как квалифицированные вызовы указываются на языке). Для C ++ это форма «class :: member»; для Eiffel и Java он имеет форму "class.member". Это может упростить размещение определенных тегов, когда в файле тегов встречается несколько вхождений имени тега. Обратите внимание, однако, что это может потенциально более чем в два раза превышать размер файла тега.

Поэтому этот параметр полезен для меня, когда я использую Ctrl +] для навигации и так далее, поэтому я бы предпочел оставить его, но я бы предпочел, чтобы квалифицированные версии были удалены из меню списка тегов. Я искал ответ, но не нашел ничего, связанного с этой проблемой; Удивительно, поскольку я думаю, что OmniCPPComplete рекомендует использовать --extra= + q, поэтому я ожидал, что многие программисты на C ++ будут его использовать.

Ниже приведены мои настройки тегов и списков тегов. Любая помощь приветствуется!

~ / .ctags:

родовое слово

~ / .vimrc (настройки списка тегов извлечены)

родовое слово
Это было полезно?

Решение

Ответ смотрел мне прямо в лицо!Я не понимал, что taglist на самом деле каждый раз запускает свои собственные ctags, а не только использует мой файл тегов.Все, что мне нужно было сделать, это явно отключить эти специфические настройки C ++ в команде taglist ctags следующим образом:

родовое слово

Надеюсь, этот пост будет полезен всем, у кого есть такая же проблема!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top