我正在尝试在emacs 23中使用cedet 1.1。据我所知,我已经安装了它,当我加载emacs时它会加载cedet,但我正在使用带有-nw选项的emacs。当我输入。或 - >我没有得到任何代码完成。 (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
答案 0 :(得分:2)
默认情况下,CEDET中的自动完成应该通过semantic-ia-complete-symbol-menu
或semantic-ia-complete-symbol
命令显式调用,或者您应该通过以下方式在自插入时配置完成:
(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发布以来,已经修复了许多错误。