2010-09-07 9 views
14

Usando exuberante-ctags 5.8 para gcc 4.4.3 c89Al usar ctags exuberantes, ¿qué opciones usar?

Acabo de empezar a utilizar exuberante-ctags y me pregunto qué opciones agregará.

Aquí hay una lista y me pregunto si agregaron demasiados podría ser demasiado matar.

$ 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] 

que iba a utilizar los siguientes:

ctags -e --c-kinds=+defgpstux -R 

Me pregunto: que es una exageración?

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 

Respuesta

7

Yo no diría que es un exceso, me encienda m, aunque (estructuras y búsquedas miembro de unión es muy bueno)

Ctags en general es buena si se está trabajando desde la línea de comandos o con un editor que lo admite (gvim, por ejemplo). Si realmente quieres funciones avanzadas, recomiendo ir por un buen IDE. Hay algunas cosas que simplemente no puedes hacer directamente con ctags (como call hireachy, o refactorizar que un buen IDE con buena compatibilidad de indexación C/C++ te dará)

3

Yo no creo que ninguno de estos son una exageración, sin embargo es posible que desee investigar CScope a 'llevarlo al siguiente nivel'. Parece que podrías estar exprimiendo al máximo lo que podrás sacar de los ctags y ahí es donde CScope se activa.

+1

Pero Cscope no es compatible con C++. universal-ctags es el camino a seguir aquí – Pascalius