ctags в возвышенном тексте - PullRequest
       14

ctags в возвышенном тексте

30 голосов
/ 29 февраля 2012

Я только что скачал возвышенный текст 2 бета 2182 под Ubuntu 10.10 с Exuberant Ctags 5.8

Я хочу использовать его для кодирования на С ++, и мне нужно немного автозаполнения и навигации по коду.(Я использовал для затмения cdt)

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

Проблема в том, что я хочу создать файл тега из:

  1. c ++ стандартной библиотеки (std::vector std::map etc)

  2. всех классовкаркаса, который я использую.

Точка 1 - это (я думаю) то же, что и точка 2, мне просто нужно создать список тегов std lib в моем /usr/include/c++/4.4.5/

, так что я скачал плагин и установил его, я составил список тегов следующим образом:

$ cd /absolute_path_of_my_cpp_framework/
$ ctags -R *

Я изменил /home/me/.config/sublime-text-2/Packages/CTagss/CTags.sublime-settings с помощью этой строки:

"extra_tag_files" : [".gemtags", "/absolute_path_of_my_cpp_framework/tags"]

Теперь я открываю файл cpp, указываю курсором на имя класса моей платформы и использую привязку ключа ctrl+t ctrl+t, и ничего не происходит.Только это сообщение в строке внизу:

не может найти "имя_класса"

Кто-нибудь может мне помочь?

Ответы [ 2 ]

7 голосов
/ 30 апреля 2012

Лично я не использую Sublime Text, но при условии, что он использует файлы тегов аналогично vim, вам нужно сгенерировать дополнительную информацию для завершения C ++.

Использовать ctags со следующими параметрами:

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

Информация взята из этой статьи , которая также предоставляет копии стандартных библиотечных заголовков, которые можно использовать для создания тегов.

2 голосов
/ 24 февраля 2016

Команды оболочки:

$ cd /absolute_path_of_my_cpp_framework/ (1)

$ ctags -R --languages=c++ --langmap=c++:+.inl --fields=+iaS --extra=+q --totals=yes --verbose=yes (2)

$ ctags -a -R --languages=c++ /usr/include/c++/4.4.5/ --fields=+iaS --extra=+q --totals=yes --verbose=yes (3)

$ subl . (4)

Описание:

(1) Перейдите в корневую папку вашего проекта, чтобы убедиться, что там будет создан файл тегов.

(2) Создайте новый файл тегов для всех файлов C ++ в вашем проекте, добавив поддержку файлов .inl, наследования, модификаторов доступа, области видимости с учетом класса и т. Д.

(3) Добавьте теги для стандартных заголовков lib C ++ к вашему созданному файлу тегов.

(4) Откройте папку в Sublime Text.

Ссылки:

  1. http://ctags.sourceforge.net/ctags.html
  2. https://www.chromium.org/developers/sublime-text
  3. http://www.tarosys.com/2014/07/adding-another-file-type-for-ctags.html
  4. Обильные ctags исключают каталоги
  5. Vim и Ctags: игнорирование определенных файлов при генерации тегов
  6. https://www.topbug.net/blog/2012/03/17/generate-ctags-files-for-c-slash-c-plus-plus-source-files-and-all-of-their-included-header-files/
...