Stato della CEDET e della BCE nell'Emacs 24.2
Domanda
Sono un po' confuso su cosa devo fare per eseguire CEDET ed ECB in Emacs 24.2.1.
L'Emacswiki ha il seguente testo:
Come abilitare gli strumenti CEDET che sono stati accorpati ad Emacs
In Emacs 23.2, CEDET è stato incorporato nella distribuzione principale di Emacs.Il codice di configurazione che è spiegato nei tutorial di cedet non funziona più.Ad esempio, non è possibile utilizzare (semantic-caricamento-elice-gaude-code-helpers) per consentire le funzionalità utili.
FARE:Spiega quale codice è necessario caricare gli strumenti IDE più utili forniti da Cedet
Ho una configurazione di base con cui lavorare con quanto segue nel mio .emacs:
(global-ede-mode 1) (require 'semantic/sb) (semantic-mode 1)
- Q1: CEDET e BCE sono ora in bundle con Emacs?Se è così, perché esiste un progetto Sourceforge separato per questo?
- Q2: Come posso abilitare CEDET e ECB in Emacs 24.2?Devo comunque scaricare il codice sorgente dai rispettivi siti Web e installarli separatamente?
Soluzione
È necessario tenere conto di diverse cose:
- .
- CEDET è in bundle con GNU Emacs 24.2, ma è leggermente obsoleto ... CEDET 1.1 o CEDET DA BZR è meglio dal punto di vista funzionale.Spero, che Emacs 24.3 avrà una nuova versione di CEDET
- Ho un Fork di BCE , che funziona con il cedro fresco (1.1 oBZR) e con il cedetto in bundle con Emacs - ma è necessario installarlo manualmente
- È possibile abilitare il CEDET in bundle con GNU Emacs o Cedet da BZR con Seguendo Config , per CEDET 1.1 È possibile utilizzare seguendoconfig .
P.S.Proverò a rispondere a più domande qui, oppure puoi scrivermi direttamente via e-mail
Altri suggerimenti
Q1:Sì e no:La CEDET è raggruppata, ma la BCE no.Mentre CEDET è in bundle, lo sviluppo principale continua ad avvenire al di fuori del repository di Emacs per ragioni in parte storiche e in parte tecniche.
Q2: (semantic-mode 1)
E (global-ede-mode 1)
dovrebbe essere sufficiente per abilitare CEDET (non è necessario (require 'semantic/sb)
).Per quanto riguarda la BCE, dal momento che non è raggruppata,...
Emacs Code Browser Rocks, ma mi ci sono voluti alcuni giorni per capire come impostarlo fino alla mia soddisfazione sui miei attuali Emacs 24.5.1. Speriamo che le seguenti istruzioni aiuteranno a renderlo più popolare andando avanti.
Step 1: su Ubuntu: Installa TEXINFO tramite:
sudo apt-get install texinfo
.
In realtà installa TAKINFO che è necessario per installare la BCE. Macs potrebbe già aver installato MakeInfo - Non penso che dovessi installare TEXINFO sul mio Mac.
Step 2: utilizzare EL-Get per installare la BCE. Fai una ricerca web su 'El-Get Emacs' per saperne di più su El-Get. Il vantaggio di utilizzare El-Get è che si prenderanno automaticamente cura di aggiungere BCE al percorso di carico EMACS.
BTW, sembra prendere un buon 15 o così minuti per installare BCE usando El-Get. Sii paziente e non uscire da Emacs se ti dice che ha un processo attivo in esecuzione ..
Quando El-Get ha finito, mostrerà un messaggio: la BCE è stata installata con successo (o qualcosa in cui tale effetto)
Step 3: Aggiungi quanto segue al file Init Emacs (o ~ / .emacs.d / init.el o ~ / .emacs - Effettuare le modifiche a quale di questi due file è già presente)
;; start of ecb configuration/customization:
;;
(require 'ecb)
(setq stack-trace-on-error t)
(setq ecb-version-check nil)
(setq ecb-layout-name "left15")
(setq ecb-tip-of-the-day nil)
(setq ecb-primary-secondary-mouse-buttons 'mouse-1--mouse-2)
(setq ecb-source-file-regexps
'((".*" . (("\\(^\\(\\.\\|#\\)\\|\\(~$\\|\\.\\(pyc\\|elc\\|obj\\|o\\|class\\|lib\\|dll\\|a\\|so\\|cache\\)$\\)\\)")
("^\\.\\(emacs\\|gnus\\)$")))))
;;
;; disable global semantic idle scheduler.
;; it doesn't really seem to work all that well in automatically
;; reparsing buffers and it's actually intrusive when i'm typing:
(add-hook 'ecb-activate-hook
'(lambda()
(semantic-mode t)
(ecb-maximize-window-methods)
(setq global-semantic-idle-scheduler-mode nil)
))
(add-hook 'after-save-hook
'(lambda()
(when (bound-and-true-p ecb-minor-mode)
;; this is to get the methods buffer to refresh correctly.
;; semantic idle mode refresh doesn't seem to work all that well.
(run-at-time 1 nil 'semantic-force-refresh)
)
))
(set-face-attribute 'ecb-default-general-face nil
:inherit 'default)
(set-face-attribute 'ecb-default-highlight-face nil
:background "#464646")
(set-face-attribute 'ecb-tag-header-face nil
:background "#464646")
;;
;; end of ecb configuration/customization
.
Step 4: riavviare Emacs, aprire un file sorgente Python (come esempio di prova) in Emacs e quindi digitare: m-x ECB-Attiva
Se si ottiene una finestra Elenco metodi a sinistra e la vista del file di origine a destra, l'hai funzionato.