При использовании exuberant-ctags какие варианты вы используете?
Использование exuberant-ctags 5.8 для gcc 4.4.3 c89
Я только начал использовать exuberant-ctags, и мне просто интересно, какие опции вы добавляете.
Вот список, и мне просто интересно, добавлено слишком много, может ли это быть убито.
$ ctags --list-kinds=c
c classes
d macro definitions
e enumerators (values inside an enumeration)
f function definitions
g enumeration names
l local variables [off]
m class, struct, and union members
n namespaces
p function prototypes [off]
s structure names
t typedefs
u union names
v variable definitions
x external and forward variable declarations [off]
Я собирался использовать следующее:
ctags -e --c-kinds=+defgpstux -R
Мне просто интересно: это перебор?
c classes No -- I don't have any classes as this is c
d macro definitions YES -- I have many macros
e enumerators (values inside an enumeration) YES
f function definitions YES
g enumeration names YES
l local variables [off] NO
m class, struct, and union members NO
n namespaces NO
p function prototypes [off] YES
s structure names YES -- Is there any difference with m
t typedefs YES
u union names YES
v variable definitions NO
x external and forward variable declarations [off] YES
Ответы
Ответ 1
Я бы не сказал, что это слишком много, я бы включил m, хотя (поиск в структурах и члене союза очень хорош)
Ctags вообще хороши, если вы работаете из командной строки или с помощью редактора, который его поддерживает (например, gvim). Если вы действительно хотите расширенные функции, я бы рекомендовал, чтобы вы делали хорошую IDE. Есть что-то, что вы просто не можете сделать напрямую с помощью ctags (например, call rentachy или рефакторинг, который даст вам хорошая IDE с хорошей поддержкой индексирования C/С++)
Ответ 2
Я не думаю, что все это слишком сложно, однако вы можете изучить CScope, чтобы перейти к следующему уровень. Похоже, вы могли бы сжать максимум, который вы сможете получить из ctags, и то, где собирается CScope.