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


#1

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


#2

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

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


#3

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


#4

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


#5

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


#6

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


#7

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


#8

比如用 ggtags,


#9

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


#10

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


#11

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


#12

@yicao 试了可以用,谢谢