如何在emacs和C ++下扩展覆盖多个目录的etags? (我不是指使用-R选项直接解决的递归etgas)。
需要这样的东西,例如,在我们使用第三方库的情况下,包括其标题,可以安装在目录结构中的任何位置。
我将emacs作为C ++编辑器面临的类似问题是如何直接从其#include指令打开包含的头文件。
这对于IDE(如VC _ ++)来说是微不足道的,因为include头路径是项目的一部分,但我找不到类似于emacs的解决方案,因为更薄的环境不使用项目的概念....
答案 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-file
和ffap
以及相关的find-file-at-point函数来跳转到包含文件你是上。这两组函数都有各种自定义选项,因此您可以告诉它们在哪里搜索标题。