是否可以让Semantic(emacs)自动访问所有文件?

时间:2010-05-31 20:25:41

标签: emacs autocomplete etag cedet emacs-semantic

从我从文档中可以看出,语义通过在您访问它们时分析每个文件(可能还有它的邻居)来慢慢建立项目中的内容。这太慢了。我想让它访问我项目中的所有文件。是否有捷径可寻?在我能够获得体面的自动完成工作之前,必须访问数百个文件似乎很疯狂。

我还生成了一个etags文件。我能以某种方式利用它吗?

相关信息:Windows上的Emacs,版本23.2.1

2 个答案:

答案 0 :(得分:7)

CEDET将通过#include语句自动解析所有文件引用,从而提供相当好的完成。如果您希望在文件中跳转,可以设置CEDET使用GNU Global,CScope,以提供按标签名称移动项目所需的数据库。

此外,CEDET将在空闲时间解析您的标题和附近的文件,因此最终您将在第一次使用这些工具后大约10分钟内拥有所有本地文件的完整数据库。您可以通过打开文件并调用

来加快速度
 M-x semantic-debug-idle-work-function

将会在没有等待的情况下完成这些工作。

答案 1 :(得分:1)

最后,我发现最好的解决方案是使用一些elisp手动强制解析文件。我发现的最佳答案是here