2011-08-03 27 views
3

Cedet是一個很好的工具套件,但在默認配置中,它有一些困難定位包含文件。使emacs cedet語義查找包含目錄

我想讓它在每個父目錄中尋找名爲include /的目錄並從那裏獲取文件。

爲examplme文件/home/fakedrake/my-project/some-thing/something-else/file.c具有#include "file.h" file.h在一些-事/ 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

您可以使用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是一個非常好的想法來源,如果你需要更多。