Emacs CEDET中的自动完成?

Emacs CEDET中的自动完成?,emacs,cedet,emacs24,emacs-ecb,Emacs,Cedet,Emacs24,Emacs Ecb,我正在尝试在Emacs24.3中设置Cedet2.2,以便使用提供自动完成功能,但它并不完全按照我希望的方式工作 首先,我尝试使用CEDET自己的完成方式,但它没有提供“弹出菜单”,只有它能找到的第一个完成方式,并且没有办法循环。然后我安装了auto complete with packages,并按照上所述进行了设置。这也不起作用-自动完成崩溃说自动完成错误:(void变量ac source semantic)。交流电源gtags也是如此 这是因为目前塞得太多还是我对它的理解有误?配置塞得太麻

我正在尝试在Emacs24.3中设置Cedet2.2,以便使用提供自动完成功能,但它并不完全按照我希望的方式工作

首先,我尝试使用CEDET自己的完成方式,但它没有提供“弹出菜单”,只有它能找到的第一个完成方式,并且没有办法循环。然后我安装了auto complete with packages,并按照上所述进行了设置。这也不起作用-自动完成崩溃说
自动完成错误:(void变量ac source semantic)
。交流电源gtags也是如此


这是因为目前塞得太多还是我对它的理解有误?配置塞得太麻烦了(我花了几个月的时间才在现有项目中实现定义和自动完成)

因此,您当然可能错误地配置了CEDET,因为很难正确配置,我将把配置留在这里供您查看,但它确实取决于您的项目,而且非常挑剔

(setq cedet根路径(文件名为目录“~/.emacs.d/lisp/cedet bzr/trunk/”)
(加载文件(concat-cedet根路径“cedet-devel-load.el”))
(添加到列表“加载路径”(concat-cedet根路径“contrib”))
;; 选择要激活的子模式
(mapc(lambda(模式)(添加到列表“语义默认子模式”)
'(全局语义mru书签模式
全局语义CDB次要模式
全局语义空闲调度程序模式
全局语义粘滞函数模式
全局-cedet-m3-次模式
全局语义高亮功能模式
全局语义(CDB次要模式)
;; 激活语义
(语义模式1)
;; 加载contrib库
(需要“eassist”)
;; 模式的定制
(mapc)
(λ(模式)
(添加钩子模式
(lambda()
(当(boundp’语义ia完整符号)(添加到列表‘点功能完成’语义ia完整符号))
(本地设置键[(控制返回)]语义完整符号菜单)
(本地设置键“\C-C?”“语义ia完整符号)
(本地设置键“\C-C>”语义完整分析内联)
(本地设置键“\C-C=“”包括访问)
(本地设置键“\C-cj”语义ia快速跳转)
(本地设置键“\C-cq”语义ia显示文档)
(本地设置键“\C-cs”语义ia显示摘要)
(本地设置键“\C-cp”语义分析协议执行切换)
)))'(c模式通用钩子lisp模式钩子emacs lisp模式钩子))
(添加钩子'c-模式-公共钩子(λ()
(本地设置键“\C-ct”eassist-switch-h-cpp)
(本地设置键“\C-xt”eassist-switch-h-cpp)
(本地设置键“\C-ce”eassist列表方法)
(本地设置键“\C-C\C-r”'语义symref)))
(semanticdb启用gnu全局数据库的c模式t)
(semanticdb启用gnu全局数据库的c++模式t)
(何时(cedet ectag版本检查t)
(语义加载支持主要ectags支持))
;; SRecode
(全局srecode次要模式1)
;; 爱德
(全球ede模式1)
(ede启用通用项目)
(取消qt cedet设置()
设置c模式和相关模式。包括对Qt代码(信号、插槽和类似项)的支持
;将qt知识添加到emacs中
(setq qt4基本目录(concat(getenv“QTDIR”)“/include”))
(语义添加系统包括(concat qt4 base dir“/Qt”)'c++模式)
(语义添加系统包括(concat qt4 base dir“/QtGui”)“c++模式)
(语义添加系统包括(concat qt4 base dir“/QtCore”)“c++模式)
(语义添加系统包括(concat qt4 base dir“/qtest”)“c++模式)
(语义添加系统包括(concat qt4 base dir“/QtNetwork”)“c++模式)
(语义添加系统包括(concat qt4 base dir“/QtSvg”)“c++模式)
(添加到列表“自动模式列表”(cons qt4基本目录“c++模式”)
(添加到列表“semantic-lex-c-preprocessor-symbol-file(concat qt4 base dir)/Qt/qconfig.h”))
(添加到列表“semantic-lex-c-preprocessor-symbol-file(concat qt4 base dir)/Qt/qconfig large.h”))
(添加到列表“semantic-lex-c-preprocessor-symbol-file(concat qt4 base dir)/Qt/qglobal.h”))
qt关键字和其他东西。。。
;为新单词正确设置缩进
(setq c-保护键(concat“\\”)
c-c++-访问密钥(concat“\\[\t]*:”)
修改插槽的颜色以匹配公共、私人等。。。
(字体锁定添加关键字“c++-mode”(“\\”.font-lock-type-face)))
;为其余qt关键字创建新字体
(使面成为“面”)
(设置人脸前景“qt”关键字人脸“蓝紫色”)
;qt关键字
(字体锁定添加关键字'c++-mode'(“\\”'qt关键字面)))
(字体锁定添加关键字'c++-mode'(“\\”'qt关键字面)))
(字体锁定添加关键字'c++-mode'(“\\”'qt关键字面)))
(字体锁定添加关键字'c++-mode'(“\\”'qt关键字面)))
(字体锁定添加关键字“c++模式”
“(“\\”“字体锁定内置面”))
(setq c-macro-names-with-分号“(“Q_对象”“Q_属性”“Q_声明”“Q_枚举”))
(c-make-macro-with-semi-re)
)
(当(getenv“QTDIR”)(添加钩子'c-mode-common-hook'qt-cedet设置))

您使用的emacs版本是什么?当我写这篇文章时,我使用的是23.0版本,现在我使用的是24.3.1版本