我正在尝试在emacs 23中使用cedet 1.1。据我所知,我已经安装了它,当我加载emacs时,它会加载cedet,但是我正在将emacs与-nw选项一起使用。当我键入。或->我没有完成任何代码。 (C ++文件,位于std :: vector对象上)。例如,当我键入:
vec_map.
要么
vec_map->
什么都不做,其中vec_map是std :: vector的实例。
我假设它可以在emacs的命令行版本中完成代码。
另外,我的.emacs文件是(并且加载得很好):
(load-file "~/cedet-1.1/common/cedet.el")
(global-ede-mode 1) ; Enable the Project management system
(semantic-load-enable-code-helpers) ; Enable prototype help and smart completion
(global-srecode-minor-mode 1) ; Enable template insertion menu
最佳答案
默认情况下,应通过semantic-ia-complete-symbol-menu
或semantic-ia-complete-symbol
命令显式调用CEDET中的自动完成功能,或者应通过以下方式在自动插入时配置完成功能:
(defun my/c-mode-cedet-hook ()
(local-set-key "." 'semantic-complete-self-insert)
(local-set-key ">" 'semantic-complete-self-insert)
)
(add-hook 'c-mode-common-hook 'my/c-mode-cedet-hook)
但是正如评论中提到的那样,最好从bzr中获取最新的Emacs和/或CEDET-自1.1版本以来已修复了许多错误。