本文介绍了emacs24语义完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在尝试使用emacs 24和其附带的cedet版本来完成语义完成。完成工作适用于我在自己的源文件中定义的类,但完成不适用于标准库或STL的东西这是我的emacs配置: code(需要'cedet)(require'semantic)(require'semantic / ia)(require'semantic / bovine / gcc)(semantic- add-system-include/usr/include/c++/4.6.3'c ++ - mode)(setq semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode global-semantic-idle-summary-mode 全局语义空闲完成模式全局语义高亮功能模式全局语义装饰模式全局语义Mru书签模式)(setq semanticdb-default-save-directory〜/ .semanticdb / semantic- complete-inline-analyzer-idle-displayor-class'semantic-displayor-ghost)(语义模式t) 在我的〜/ .semanticdb目录中,我只看到!usr!in clude!c ++!4.6!x86_64-linux-gnu!bits!semantic.cache,甚至没有使用我在config中指定的版本。 当我在std :: list上尝试Mx语义分析可能的完成时,例如,我收到一条错误:找不到std ::列表 有关如何调试这个或如何修复它的任何建议?解决方案 我正在安装一个新的Ubuntu 13.04在我的新的SSD,,这是我的步骤来配置CEDET(我检查它为 std :: list )。 基本设置 获取一个新的 emacs ,并从源代码构建。 这很简单,如 ./ configure& amp;&制作&& sudo make install 添加到 .emacs (semantic-mode 1) p> 这是整个设置。 测试 运行emacs而不加载任何东西: emacs -q test.cc 输入代码 #include< list> int main(){ std :: list lst; lst。$ return 0; } 语义模式 指向 $ , semantic-modewith point at $, semantic-ia-show-variantsTroubleshootingIf stuff doesn't work, it's likely that the semanticdb is corrupt.Just find where it is, for me it's semanticdb-default-save-directory="~/.emacs.d/semanticdb",and remove everything from there.Then, when visiting a source file, call semantic-force-refresh. 这篇关于emacs24语义完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 09-12 02:40