在 C++ 源文件上使用 'senator-complete-symbol' 时,有时它可以工作,但大多数时候我都遇到错误“wrong-type-argument stringp nil, compare-strings("Ins" 0 nil nil 0 3零)”。我不知道为什么语义工作如此不一致。我已经尝试了无数次退出emacs,删除semanticdb目录并重新进入emacs以强制重新创建semanticdb,但就像我说的那样,它有时会无缘无故地工作,但大多数时候它不起作用。
我使用的 CEDET 版本来自:
bzr checkout bzr://cedet.bzr.sourceforge.net/bzrroot/cedet/code/trunk cedet
我试过 v1.0 但这给了我编译错误,而 Emacs 23.2 中捆绑的版本根本没有这个功能。任何人都可以给我任何想法,我怎样才能使这项工作?我可以在 emacs 中使用更好的工具来完成代码完成和代码浏览吗?我有点沮丧,因为我快到最后期限了,而 CEDET 浪费了我很多时间,我不知道为什么 CEDET 看起来这么有问题。