2012-04-19 29 views
7

Tôi muốn sử dụng mã gấp ngữ nghĩa từ gói cedet (emacs). Tôi đã cài đặt phiên bản 1.1 và thêm các dòng sau để emacs:C++ mã gấp với 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) 

Được rồi, khi tôi bây giờ tải một c oder C++ tập tin, không có gì xảy ra khi sử dụng tổ hợp phím hoặc trực tiếp chạy các lệnh tương ứng. Có chuyện gì vậy? Tôi đã quên điều gì chưa?

Trả lời

5

Trước tiên, bạn không cần phải có (global-semantic-tag-folding-mode 1) bên defun - nó tốt hơn để chạy lệnh này một lần ...

Nhưng tôi nghĩ, rằng vấn đề chính là bạn đã không được kích hoạt bất kỳ Semantic tính năng (xem this section in my article) - ít nhất bạn cần phải gọi (semantic-load-enable-minimum-features) sau khi tải CEDET.

P.S. mã của bạn đang làm việc cho tôi (Tôi sử dụng semantic-load-enable-excessive-code-helpers trong thiết lập của mình)

0

thử thêm dòng sau vào tệp cấu hình emacs của bạn sau số (load-file "~/software/cedet-1.1/common/cedet.el");

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