2012-10-14 7 views
5

Ich habe Alex Ott fantastic guide to CEDET für Emacs gelesen, und ich denke, ich weiß, wie ich meine EDE-Projekte richtig einrichten.Emacs CEDET: Springe zu Symbolen

Allerdings, wenn ich versuche, zu einem lokalen Symbol zu springen (zB der main() Funktion in C++) semantic-complete-jump-local (C-c , j) den Befehl verwenden, erhalte ich die Fehler [no match] obwohl ich aus der CPP-Datei diesen Befehl nenne, wo die Symbol ist definiert.

Auch wenn ich versuche, mit semantic-complete-jump-global (C-c , J) zu einem Symbol mit mehreren Definitionen auf verschiedene Dateien (zum Beispiel mehrere main() Funktionen) zu springen, klagt cedet mit [not unique] aber es gibt mir nicht, einen Weg zu wählen, welches Symbol ich sehen will. Die einzige Möglichkeit, das Symbol zu finden, an dem ich interessiert bin, besteht darin, alle Optionen mit <TAB> Puffer durch Puffer zu durchlaufen, bis ich diejenige finde, an der ich interessiert bin. Gibt es eine Möglichkeit, eine Liste von Symbolen zu erhalten? Im Idealfall wäre es toll, eine Autocomplete-Liste zu erhalten, die denen ähnelt, die Emacs helm (früher bekannt als Anything) bereitstellt. Diese

ist alles mit Emacs 24.2.1 auf Linux mit cedet 1.1.

+0

welche Version von CEDET verwenden Sie? –

+0

Danke @AlexOtt, ich habe gerade das OP mit der Versionsinformation aktualisiert. –

Antwort

5

Hatten Sie versucht, semantic-ia-fast-jump Befehl zu verwenden? Es verwendet nicht nur Semantic, sondern auch andere Datenquellen, um zu berechnen, wo zu springen ist. Ich habe es gerade ausprobiert und es ist korrekt in die Variable gesprungen, die in der Elternklasse deklariert wurde, 3 Stufen höher in der Hierarchie.

+0

Danke Alex! 'semantic-ia-fast-jump' funktioniert gut, aber es erfordert, dass ich einen Punkt (den Cursor) auf dem Symbol habe, zu dessen Definition ich springen möchte. Stattdessen möchte ich zu Symbolen springen, die ich in den Minipuffer eingeben kann (d. H. Einen Mechanismus, um durch Symbole zu navigieren, die in meinem Projekt definiert sind). Es wäre toll, eine Liste aller möglichen Symbole zu sehen, die ich durchsuchen kann, um die gewünschte auszuwählen. Idealerweise wäre dies eine Art inkrementeller Autocomplete-Liste, die aktualisiert wird, wenn Sie den Namen des Symbols eingeben und verfeinern (wie bei Emacs Helm). Ich bin mir nicht sicher, ob das möglich ist. –

+0

Ich denke, dass es möglich sein sollte, eine solche Funktion zu schreiben, obwohl es einige Codierung erfordern wird –

+0

Danke Alex. Welche anderen Mechanismen gibt es in der Zwischenzeit, um Symboldefinitionen zu navigieren, zu springen oder in der Vorschau anzuzeigen? –