저는 CEDET에서 이맥스를 사용하고 코드 완성을 위해 자동 완성을 사용하고 있습니다. 원래는 매번 Emacs를 시작할 때마다 CEDET을로드하도록 설정했습니다.이맥스 : CEDET 사용 및 초기화
그러나 이것은 꽤 오랜 시간이 걸렸으므로 필요한 경우 즉, 내 경우에는 C++ 모드를 입력 할 때로드하는 것이 현명 할 것이라고 생각했습니다.
그래서 나는 C++ 입력 할 때 호출하는lambda
에 원래의 기능을 이동 - 모드 :
; 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)
)
)
에 오류가 없습니다, 그러나 나는 다음과 같은 문제가 : 이맥스는 C를 입력하면 ++ - 모드를 처음에 대해 시간이 지나면 코드 완성이 제대로 작동하지 않습니다. 그러나 Emacs가 C++ 모드로 두 번째로 들어가면 모든 것이 잘 작동합니다.
내가 뭘 잘못하고 있는지 아는 사람이 있습니까?
답변 해 주셔서 감사합니다. 그래서 CEDET는 원래의 C++ - mode-hook을 대체합니다, 맞습니까? – phimuemue