clangd最大的特点是需要一个json格式的compilation database,通过这个文件才能让其他的lint、智能补全之类的功能正常运作。关于如何生成“compilation_database.json”,官方有针对不同的build工具对应的文档。
类似CMake这类的高级工具自然是不需要其他插件,它内置了这个功能。对于其他类型的构建工具,比如Makefile,就要借助额外的工具来生成这个文件了。
这里使用的是scan-build工具来辅助,这东西是用python来写的,所以要用pip安装:
1
pip install scan-build
而调用的命令的名字是intercept-build,结合make的调用方法是:
1
intercept-build make
其实就是在正常的make命令前面加个intercept-build就可以了。