2009-10-21 11 views
13

I miei strumenti abituali sono Emacs con g ++ su un sistema Linux per implementare i miei algoritmi di ricerca. Negli ultimi anni, ho usato emacs in modo abbastanza semplice. Apro i file C o C++, li modifico con uno schema di evidenziazione della sintassi di mia scelta e compilo e faccio altre cose da emacs (o forse da un terminale), incluso l'uso di gdb all'interno di emacs per il debug. Conosco gli etags e le ctags e ho giocato un po 'con gli etags e gli emacs ma non mi sembra di aver trovato quel "punto debole" con gli strumenti.emacs, etags e uso di emacs come IDE

Mi stavo chiedendo, che cosa fanno gli altri per configurare emacs solo in modo che si adatti perfettamente con etags e altri strumenti? Quali modifiche bisogna fare a emacs per renderlo un IDE migliore?

risposta

16

Per la semplice codifica delle informazioni, raccomando anche GNU Global. CScope può fare molto anche In entrambi i casi, forniscono un modo per trovare la posizione di un tag per nome e anche gli usi di un determinato tag.

Per "IDE Stuff" c'è più di un semplice sistema di tagging. Per questo, raccomando il set di strumenti CEDET per Emacs. Questo fornisce un sistema di gestione del progetto (EDE) che può creare Makefile per compilare il codice per te. C'è anche una parte di analisi e analisi del codice (Semantic) che fornisce un completamento intelligente. Esiste un sistema di generazione di template/codice (SRecode) che può convertire i tag dalla semantica in codice. Esiste anche un editor di diagrammi UML (COGRE) che può generare codice da un diagramma di classe che si disegna in Emacs.

La maggior parte delle persone che utilizzano CEDET utilizza solo il parser ei sistemi di completamento intelligente, eventualmente in combinazione con ECB, ed è corretto utilizzare solo un sottoinsieme di CEDET.

Per buona misura CEDET si integrerà anche con i database GNU Global in modo da poter fare riferimento agli usi dei simboli oltre che alle posizioni dei tag insieme alla normale interfaccia GNU Global per Emacs.

+0

2samix: potrebbe essere utile per trovare il mio articolo su CEDET - http://xtalk.msk.su/~ott /en/writings/emacs-devenv/EmacsCedet.html –

3

Abbiamo recentemente iniziato a utilizzare GNU Global in sostituzione di etags e sono rimasto molto colpito. Usiamo anche idutils che fornisce un modo veloce per cercare qualsiasi stringa nel codice sorgente.

+0

Potresti approfondire un po 'il motivo per cui sembra preferire Gnu Global rispetto agli etags? In effetti, questa è la prima volta che sento parlare di Gnu Global e non ne so nulla. Mi chiedo come si paragona a Etags. Dal sito web di Gnu Global so che supporta un minor numero di lingue, ma sono principalmente interessato a C e C++, quindi non è un prblema. Grazie. – user193272

+1

ricerca molto più veloce, gtags sono anche usati in CEDET e permette di trovare chiamate a funzioni specifiche, ecc. –

+1

Sono d'accordo con Alex, i gtag sono molto più veloci degli etags e generalmente più accurati. Ho trovato alcuni problemi in cui era errato l'analisi del codice, ma per la maggior parte funziona bene. – MikeT