Uso CEDET (ultimo CVS) con diversi progetti di dimensioni moderatamente grandi (alcune centinaia di kLOC ciascuno, principalmente C, ma alcuni C++) e talvolta si verificano lunghe pause in cui il sistema non risponde per secondi. Più raramente, gira fuori controllo completamente e devo mescolare su C-g
e provare a spostare il cursore o passare a un buffer diverso per ottenere il controllo di ritorno.Consigli di scalabilità CEDET
Io uso GNU Global per creare tag per i progetti con cui lavoro, ma questo è ancora a volte lento, specialmente per semantic-symref-symbol
e alcuni salti che sembrano richiedere l'analisi di molte intestazioni e file di origine. In alcuni casi gli errori semantic-ia-fast-jump
con il messaggio semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information
anche se gtags-find-tag
lo trovano immediatamente (nello stesso progetto), anche se forse in una posizione non aggiornata; questo può essere un bug temporaneo, di solito semantic-ia-fast-jump
è affidabile.
Gradirei qualche suggerimento su come
- Throttle CEDET senza perdere tutte le analisi semantica.
- Scopri cosa ha causato il CEDET fuori controllo, così posso correggere le definizioni del mio progetto o presentare una segnalazione di bug.
- Determinare il motivo per cui alcune analisi semantiche non riescono.
- Ottieni semantico per memorizzare più informazioni in modo da renderlo più reattivo, ho molta memoria che mi piacerebbe usare.
- Gestisci GNU globale (crea e mantieni aggiornato) per più progetti in diversi luoghi, incluse le directory di sistema.
- Gestire le dipendenze tra i progetti che ho configurato con
ede-cpp-root-project
. - Gestire i progetti con più configurazioni di compilazione, ciascuna con il proprio "config.h" e la directory di compilazione.
ci sono alcuni suggerimenti nell'articolo http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html, sto cercando qualcosa al di là di tale articolo.