0

我正在尝试在 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
4

1 回答 1

2

默认情况下,CEDET 中的自动补全应该通过semantic-ia-complete-symbol-menusemantic-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 版本以来修复了许多错误。

于 2013-09-08T08:26:27.960 回答