我使用最新的CVS版本 CEDET 来处理几个中等规模的项目(每个项目都有几百 kLOCs,大多数是 C,但也包括一些C++),有时会出现长时间的暂停,在这段时间内系统会完全失去响应好几秒钟。更少见的是,它会完全失控,我不得不按下C-g
并尝试移动光标或切换到其他缓冲区以重新获得控制。
我使用 GNU Global 为我所使用的项目创建标签,但这仍然有时非常缓慢,特别是对于semantic-symref-symbol
和某些跳转似乎需要解析大量头文件和源文件。在某些情况下,semantic-ia-fast-jump
会出现错误信息:semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information
即使在同一项目中,gtags-find-tag
立即找到了它(可能在一个过时的位置),虽然这可能是一个临时性的错误,通常semantic-ia-fast-jump
是可靠的。
我希望能够得到以下方面的建议:
- 降低CEDET的速度而又不失去所有语义分析功能。
- 查找导致CEDET失控的原因,以便我可以修复我的项目定义或提交错误报告。
- 确定为什么某些语义分析失败。
- 让semantic缓存更多信息以使其更加响应,我有很多内存可以使用。
- 管理GNU Global(创建和保持最新状态)以用于不同位置的多个项目,包括系统目录。
- 管理我使用
ede-cpp-root-project
配置的项目之间的依赖关系。 - 管理具有多个构建配置的项目,每个配置都有自己的"config.h"和构建目录。
这篇文章http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html中提供了一些提示,我正在寻找除该文章之外的其他任何内容。