Tôi đang sử dụng Emacs với CEDET và tự động hoàn tất để hoàn tất mã. Ban đầu tôi thiết lập CEDET để nó tải tại Emacs khởi động mọi lúc.Emacs: Sử dụng và khởi tạo CEDET
Tuy nhiên, điều này mất khá nhiều thời gian, vì vậy tôi nghĩ sẽ rất thông minh khi tải nó nếu cần, tức là - trong trường hợp của tôi - khi vào chế độ C++ -.
Vì vậy, tôi chuyển chức năng ban đầu vào một lambda
đó được gọi là khi vào C++ - chế độ:
; cscope for c(++) programming (finding symbols, etc.)
(require 'xcscope)
; C++ stuff
(add-hook 'c++-mode-hook
(lambda()
(load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el")
(global-ede-mode 1) ; enable project management system
(semantic-load-enable-code-helpers) ; enable prototype help and smart completion
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/elisp/ac-dict")
(add-to-list 'ac-sources 'ac-source-semantic)
(local-set-key (kbd "C-:") 'semantic-ia-complete-symbol-menu) ; set shortcut for auto completion.
(local-set-key (kbd "C-.") 'ac-complete-semantic)
(ac-config-default)
)
)
Không có lỗi, nhưng tôi có vấn đề sau đây: Khi Emacs vào C++ - chế độ cho người đầu tiên thời gian, hoàn thành mã không hoạt động đúng. Nhưng nếu Emacs vào chế độ C++ - lần thứ hai, mọi thứ hoạt động tốt.
Có ai biết tôi đang làm gì sai không?
Cảm ơn bạn đã trả lời. Vì vậy, CEDET thay thế bản gốc C++ - chế độ móc, phải không? – phimuemue