Spacemacs多个路径TAGS跳转问题【已解决】

菜鸟!我用spacemacs做Linux C++开发,因为需要代码跳转,自己上网搜索配置gtags,SPC m g c生成TAGS, SPC m g u更新。现在遇到一个问题,代码需要依赖第三方库,例如现在放在了/usr/local/xxx下。 我该怎么做把第三方的库的内容追加到我们TAGS里? 或者单独为第三方库生成TAGS,怎样同时使用自己的代码的TAGS和第三方的库的TAGS? 请大牛指教,不慎感激?

emm, 我瞄了一眼陈斌的counsel-etags,貌似没有看到类似的添加include path的变量,gtags我没用过。

不过现在都用lsp了,你可以用ccls,代码补全跳转都比tags好太多~

@ztlevi 非常感谢,如果这个没有解决方案的话,空闲的时候我会去尝试下,虽然我现在也不是很明白你说的是什么 :joy:

个人觉得 global 好用些,当然现在都用 cquery 或者 ccls 了

@seagle0128 有什么方法解决我的问题吗?:grinning:

用 TAG 的话,为第三方库生成一个单独的 tag 文件引入。 用 LSP 的话,配置.ccls应该能引入其他路径。可以咨询下 MaskRay。

@seagle0128 我的目录下已经有为自己代码生成TAGS, 为第三方库生成单独的TAGS也没有问题, 这个“文件引入”就不知道该怎么做了,可以说的详细点吗,谢谢

比如用 ggtags,

ccls + lsp-mode在linux下是开箱即用的. ccls 将自动搜索/ usr / local / include下的头文件,对于其他第三方, ccls将读取compile_commands.json(可以从cmake / makefiles生成)Project Setup · MaskRay/ccls Wiki · GitHub

@ChenLi @seagle0128 多谢!虽然不是很明白,我会先自己找找解决方案的

配置gtags的环境变量就行了,把其他的tag文件所在路径加到环境变量里去就行了

@yicao 试了可以用,谢谢

@xfdbs 你好, 能指导我们怎么用gtags自动补全和配置吗?

我不是用来自动补全的,而且我也很少用自动补全,我是用来进行函数定义跳转的

@xfdbs那么函数跳转怎么添加其它路径? 能给我一些指导吗?