2012-04-19 4 views
7

Ich würde gerne die semantische Code-Faltung aus dem Cedet-Paket (Emacs) verwenden. Ich installierte die Version 1.1 und hinzugefügt, um die folgenden Zeilen zu .emacs:C++ code falten mit 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) 

Okay, wenn ich jetzt eine c oder C++ Datei laden, passiert nichts, wenn die Tastenbelegungen oder direkt die entsprechenden Befehle ausgeführt werden. Was läuft falsch? Habe ich etwas vergessen?

Antwort

5

Erstens brauchen Sie nicht (global-semantic-tag-folding-mode 1) innen defun zu haben - es ist besser, wenn Sie diesen Befehl ausführen ...

Aber ich denke, dass Hauptproblem ist, dass Sie alle Semantic nicht aktiviert war Feature (siehe this section in my article) - zumindest müssen Sie (semantic-load-enable-minimum-features) nach dem Laden von CEDET aufrufen.

P.S. Sie Code funktioniert für mich (ich verwende semantic-load-enable-excessive-code-helpers in meinem Setup)

0

versuchen, folgende Zeile in Ihrer Emacs-Konfigurationsdatei nach (load-file "~/software/cedet-1.1/common/cedet.el") Zeile hinzufügen;

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