按照上一贴各位的热心帮忙下,又进行了google,依然无果,所以想再次请哪位大神给个详细的配置步骤,不胜感激。
好像没有太复杂的配置。大概描述一下我的使用经验,仅供参考。
我使用的系统是Linux(Debian Testing),Emacs 24.5.1,配置基于Spacemacs
- 安装GNU Global最新版 最好到官网下载最新的源代码进行编译安装。通过apt源安装的版本比较旧,有Bug。
- 配置Spacemacs 添加以下几个layer,示例代码 在~/.spacemacs.d/init.el文件中 dotspacemacs-configuration-layers '( … helm (c-c++ :variables c-c+±default-mode-for-headers 'c+±mode) gtags … )
- 创建gtags数据库 在项目代码根目录下运行命令gtags即可。 3.1 怎么识别C++头文件 gtags 缺省将.h头文件当成C头文件处理,如果是C++项目,需要先在终端(Bash Shell)执行命令:export GTAGSFORCECPP=“”
3.2 如何过滤一些目录和文件 我的做法是写一个Python脚本来干这个事。 将所有需要分析的源文件相对路径抓出来写到文件gtags.files 然后执行gtags -f gtags.files
4.如何使用 请参考gtags layer目录下的README.org. 它提供了一系列快捷键。
没有用Spacemacs,emacs版本是25.1的。在Terminal里面还能找到global,但是在emacs里面执行shell,然后which global就报command not find ,添加export PATH后,又报什么point-height *** (error-file )什么的。搞了几天都没搞好
不好意思,没法帮到你,没遇到过你这种问题哦。
谢谢帮忙看看!
我是这么设置的:
(use-package ggtags
:bind (("C-c f" . ggtags-find-file)
("M-." . ggtags-find-tag-dwim))
:config
;; ggtags settings
;; Activate cygwin mount for gtags CDPATH issue on W32
(cond ((eq window-system 'w32)
(require 'cygwin-mount)
(cygwin-mount-activate)))
(setq ggtags-global-ignore-case t)
(setq ggtags-sort-by-nearness t))
(require 'ggtags)
(add-hook 'c-mode-hook 'ggtags-mode)
(add-hook 'c++-mode-hook 'ggtags-mode)
具体请查看: