etags如何处理多个目录

时间:2010-10-08 12:23:49

标签: c++ emacs

如何在emacs和C ++下扩展覆盖多个目录的etags? (我不是指使用-R选项直接解决的递归etgas)。

需要这样的东西,例如,在我们使用第三方库的情况下,包括其标题,可以安装在目录结构中的任何位置。

我将emacs作为C ++编辑器面临的类似问题是如何直接从其#include指令打开包含的头文件。

这对于IDE(如VC _ ++)来说是微不足道的,因为include头路径是项目的一部分,但我找不到类似于emacs的解决方案,因为更薄的环境不使用项目的概念....

2 个答案:

答案 0 :(得分:3)

回答主要问题:使用find来遍历你的目录 我的标记脚本中的示例:

find . \( -name "*[tT]est*" -o -name "CVS" -o -name "*#*" -o -name "html" -o -name "*~" -o -name "*.ca*" \) -prune -o \( -iname "*.c" -o -iname "*.cpp" -o -iname "*.cxx" -o -iname "*.h"  -o -iname "*.hh" \) -exec etags -a {} \;

C ++提示和包含标题的解决方案:查看cscope是否适合您。

答案 1 :(得分:2)

你也可以查看GNU global而不是etags,以及ff-find-other-fileffap以及相关的find-file-at-point函数来跳转到包含文件你是上。这两组函数都有各种自定义选项,因此您可以告诉它们在哪里搜索标题。