make emacs cedet语义查找包含目录

时间:2011-08-03 09:56:33

标签: emacs include-path cedet emacs-semantic

Cedet是一个不错的工具套件,但在默认配置中,它很难找到包含的文件。

我想让它在每个父目录中查找名为include /的目录,并从那里获取文件。

例如文件/home/fakedrake/my-project/some-thing/something-else/file.c#include "file.h" file.h位于some-thing / file.h中,但是cedet无法找到它

令人敬畏的是让cedet查找file.h以在目录中创建完成

/home/fakedrake/my-project/some-thing/include/
/home/fakedrake/my-project/include/

(如果它试图寻找

,我可以忍受它
/include/
/home/include/
/home/fakedrake/include/ 

1 个答案:

答案 0 :(得分:4)

您可以使用EDE。此外,它允许您为特定项目指定不同的包含路径。 EDE是Cedet的一部分,因此您无需安装任何东西。

基本设置是:

(global-ede-mode t)

然后对于每个项目,你应该有类似的东西:

(if (file-exists-p "~/dev/chanconf/Makefile")
    (ede-cpp-root-project "chanconf"
                          :name "Channel Config"
                          :file "~/dev/chanconf/Makefile"
                          :system-include-path '("/usr/include"
                                                 "/usr/include/boost")
                          :include-path '("/src"
                                          "/test/gtest/include")
                          :spp-table '(("BOOST_PROGRAM_OPTIONS_DECL" . ""))))

这不完全是你要求的,因为你仍然需要列出所有包含目录。但通常每个项目只做一次,并且不需要太多努力,所以我希望它有所帮助。

如果你需要更多的话,Alex Ott的article on Cedet是一个非常好的想法来源。