3

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/ 

)

4

1 回答 1

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的一篇关于 Cedet的文章是一个很好的想法来源。

于 2011-08-03T11:18:44.357 回答