6
我使用Emacs和CEDET并自动完成代码完成。最初我设置了CEDET,因此每次启动时都会加载Emacs。Emacs:使用和初始化CEDET
但是,这花了相当长的时间,所以我认为只要需要就可以加载它,例如 - 在我的情况下 - 在进入C++模式时。
所以我提出的原函数为lambda
被称为进入C++时 - 模式:
; 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)
)
)
有没有错误,但我有以下问题:当Emacs的进入C++ - 模式为先时间,代码完成无法正常工作。但是如果Emacs第二次进入C++模式,那么一切正常。
有人知道我在做什么错吗?
谢谢你的回答。所以CEDET取代了原来的C++ - mode-hook,对吧? – phimuemue 2010-06-21 06:09:30