2010-12-20 45 views
0

我使用emacs作爲C++ IDE。 我有CEDET和EDE配置和工作很好,但我有一個小問題。如何爲ede編寫定位函數

在我的項目頭文件遍佈整個項目樹,所以我需要編寫一個函數來幫助ede找到我的頭。 我一直在尋找一個例子,但我還沒有找到任何東西。 有人會幫助我嗎?

在此先感謝。

回答

1

下面是在一個項目中使用EDE和IDO 「快速查找文件」 的一個例子:

 
(defun DE-ido-find-files-in-project() 
    (interactive) 
    (let ((allfiles nil) 
choice) 
    (ede-map-all-subprojects 
    ede-object-root-project 
    (lambda (p) 
     (let ((targets (oref p targets))) 
    (dolist (target targets) 
    (setq allfiles (append allfiles (oref target source))))))) 
    (setq choice 
    (ido-completing-read 
    (format "File in project %s: " (oref ede-object-root-project name)) 
    allfiles nil t)) 
    (when choice 
     (ede-find-file choice)))) 
0

命令 '義德找到的文件' 必將爲 「C-C 2 F」。根據您擁有的項目類型,您可能需要啓用像gnu-global或idutils這樣的工具。有關這些工具的設置,請參閱CEDET手冊。 CEDET集成了這些工具來幫助查找文件和符號等內容。

如果您改爲從C文件中找到#include語句「找到」,以便符號完成工作,則需要設置項目級別包含路徑。工作原理取決於您使用的EDE項目的類型。