2012-04-19 13 views
7

Vorrei utilizzare il codice semantico che si piega dal pacchetto cedet (emacs). Ho installato la versione 1.1 e aggiunto le seguenti linee a .emacs:codice C++ pieghevole con emacs/cedet

(load-file "~/software/cedet-1.1/common/cedet.el") 

(require 'semantic-tag-folding) 
(defun c-folding-hook() 
    (global-semantic-tag-folding-mode 1) 
    (local-set-key (kbd "C-c <left>") 'semantic-tag-folding-fold-block) 
    (local-set-key (kbd "C-c <right>") 'semantic-tag-folding-show-block) 
) 
(add-hook 'c-mode-common-hook 'c-folding-hook) 

Ok, quando ormai carico un file c oder C++, non succede nulla quando si utilizzano le combinazioni di tasti o eseguire direttamente i comandi corrispondenti. Cosa c'è che non va? Ho dimenticato qualcosa?

risposta

5

primo luogo, non c'è bisogno di avere (global-semantic-tag-folding-mode 1) all'interno defun - è meglio eseguire questo comando una volta ...

Ma penso, che il problema principale è che non aveva permesso alcun semantico funzione (vedere this section in my article) - almeno è necessario chiamare (semantic-load-enable-minimum-features) dopo aver caricato CEDET.

P.S. il tuo codice funziona per me (io uso semantic-load-enable-excessive-code-helpers nella mia configurazione)

0

provare ad aggiungere la seguente riga nel file di configurazione emacs dopo la riga (load-file "~/software/cedet-1.1/common/cedet.el");

(semantic-load-enable-code-helpers) ; Enable prototype help and smart completion