2010-09-07 14 views
14

Używanie entuzjastycznych-ctags 5.8 dla gcc 4.4.3 c89Podczas korzystania z zaawansowanych opcji, jakich opcji używasz?

Właśnie zacząłem używać ekstrawagancko-ctags i zastanawiam się, jakie opcje dodasz.

Oto lista i zastanawiam się, czy dodałem zbyt wiele, czy to zabić.

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

miałem zamiar użyć następujących:

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

jestem po prostu zastanawiasz się: czy to przesada?

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 

Odpowiedz

7

Nie powiedziałbym, że to przesada, chciałbym włączyć m chociaż (kodowanym i wyszukiwanie członkiem związku jest bardzo dobra)

Ctags w ogóle jest dobry, jeśli pracujesz z linii poleceń lub za pomocą edytora który to obsługuje (na przykład gvim). Jeśli naprawdę chcesz zaawansowanych funkcji, polecam iść na dobre IDE. Są rzeczy, których po prostu nie można zrobić bezpośrednio za pomocą ctags (takich jak call hireachy lub refaktoryzacja, którą daje dobre IDE z dobrą obsługą indeksowania C/C++)

3

Nie sądzę, każdy z nich jest przesadą, jednak warto zbadać CScope do „wziąć go na wyższy poziom”. Wygląda na to, że możesz wycisnąć maksimum, z którego będziesz mógł wydostać się z ctags i to tam, gdzie podnosi CScope.

+1

Ale Cscope nie obsługuje języka C++. universal-ctags to droga, którą można przejść tutaj – Pascalius