2010-12-20 85 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项目的类型。