1

嗨,我无法将 imenu 与 CEDET 代码完成集成。当我调用自动完成时出现的是另一个带有可能单词的缓冲区。

参考

我的 .emacs 文件:

(require 'color-theme)
    (color-theme-initialize)
    (color-theme-blue-mood)

;; Load CEDET
(load-file "/home/user/cedet-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

;; control + space
(global-set-key [?\C- ] 'semantic-complete-analyze-inline)

(load-library "completion")
(global-set-key (kbd "C-.") 'complete)

(defun my-semantic-hook ()
  (imenu-add-to-menubar "TAGS"))
(add-hook 'semantic-init-hooks 'my-semantic-hook)
4

1 回答 1

3

我不完全确定您在问什么,但我猜当您选择 时C-SPC,您希望弹出一个菜单?代码完成引擎使用了一堆不同的完成输出机制,但菜单不是其中之一,因为 Emacs 菜单系统会抓住焦点,并阻止进一步的输入。如果你只想要一个菜单​​,那么你应该绑定C-SPCsemantic-ia-complete-symbol-menu

Imenu 是一个在菜单中显示缓冲区中所有标签的工具。Completion 是一个系统,Emacs 通过该系统提供可以完成某个符号的可能单词列表。它们不相关,唯一的例外是 Imenu 的标签收集机制被完成提示使用时,CEDET 不启用。

于 2010-11-03T11:27:12.493 回答