2012-10-14 17 views
5

Ho letto il numero fantastic guide to CEDET di Alex Ott per Emacs e penso di sapere come configurare correttamente i miei progetti EDE.Emacs CEDET: salto ai simboli

Tuttavia, quando si tenta di passare a un locale simbolo (ad esempio, la funzione main() in C++) utilizzando il comando semantic-complete-jump-local (C-c , j), ottengo l'errore [no match] anche se io chiamo questo comando all'interno del file cpp in cui il il simbolo è definito.

Inoltre, quando provo a saltare con semantic-complete-jump-global (C-c , J) ad un simbolo con le definizioni più su file diversi (ad esempio multiple main() funzioni), CEDET si lamenta con [not unique] ma non mi dà un modo per scegliere quale simbolo voglio vedere. L'unico modo per trovare il simbolo che mi interessa è scorrere tutte le opzioni con il buffer <TAB> finché non trovo quello a cui sono interessato. C'è un modo per ottenere un elenco di simboli da dove posso scegliere? Idealmente, sarebbe bello avere un elenco di completamento automatico simile a quello fornito da Emacs helm (precedentemente noto come Anything).

Questo è tutto con Emacs 24.2.1 su Linux con CEDET 1.1.

+0

quale versione di CEDET stai usando? –

+0

Grazie a @AlexOtt, ho appena aggiornato l'OP con le informazioni sulla versione. –

risposta

5

Hai provato a utilizzare il comando semantic-ia-fast-jump? Utilizza non solo Semantic, ma anche altre fonti di dati, per calcolare dove saltare. L'ho appena provato ed è saltato correttamente alla variabile, che è stata dichiarata nella classe genitore, 3 livelli più in alto nella gerarchia.

+0

Grazie Alex! 'semantic-ia-fast-jump' funziona alla grande, ma mi richiede di avere il punto (il cursore) sul simbolo di cui voglio passare la definizione. Invece, mi piacerebbe saltare ai simboli che posso digitare nel minibuffer (cioè un meccanismo per navigare attraverso i simboli definiti nel mio progetto). Sarebbe bello vedere un elenco di tutti i simboli possibili che posso sfogliare per selezionare quello che voglio. Idealmente, questo sarebbe un tipo di elenco di completamento automatico incrementale che viene aggiornato man mano che digiti e perfeziona il nome del simbolo (come quello che fa Emacs Helm). Non sono sicuro che sia possibile. –

+0

Penso che dovrebbe essere possibile scrivere tale funzione, anche se richiederà qualche codifica –

+0

Grazie Alex. Nel frattempo, quali altri meccanismi esistono per navigare, saltare o visualizzare in anteprima le definizioni dei simboli? –

Problemi correlati