求指教,spacemacs auto-completion layer的C++补全是如何工作的?


#1

各路大神,本新手入门emacs 选择了spacemacs,在使用了c++和auto-completion layer后,发现它可以自动补全标准库,但不能补全我项目中的头文件。 项目结构大概是这样:

%E5%9B%BE%E7%89%87

SPC mga 是可以在cpp和h文件之间跳转的,但在xxx.cpp中incldue xxx.h 会提示找不到文件,且无法为xxx.h 中声明的类和函数进行自动补全

我想知道,spacemacs的auto-completion是如何为项目做索引的?直接读CMakeLists吗?为何它找不到我项目中的头文件呢?请不吝赐教。

emacs version 26.1

spacemacs version v.0.200.13


#2

用ccls,lsp-mode


#3

多谢回复 不过我不想再折腾新的了 实在是折腾累了 希望现在的能用


#4

看文档,需要生成compile_command.json文件


#5

多谢指点,我用cmake导出compile_command.json文件(放在build和项目路径下都试过),依然没有效果,还需要别的配置吗? 或者能否给我一个文档的链接,我在spacemacs.org的文档中似乎没有找到相关的说明。。。多谢您的时间


#6

看文档把,如果你用的是lsp的话,看文档,你看c++layer的文档就行了.

SPC h SPC RET c-c++

#7

多谢多谢 我晚上回家马上试试:grin::grin: