如果一个项目从0开始编写,智能提示毫无障碍。
如果一个已经存在的大型工程,只需要在build目录下生成编译数据库:compile_commands.json文件即可,clangd 会扫描该文件并为当前项目中的源码生成索引。
C/C++目前主流的构建方式分为3种:
1. Makefile构建
使用Bear工具来生成compile_commands.json
https://github.com/rizsotto/Bear
2. Cmake构建
对于Cmake构建的项目,只需要在CMakeLists.txt中添加,然后执行Cmake
set(CMAKE_EXPORT_COMPILE_COMMANDS True)
3. Ninja构建
通过以下命令生成compile_commands.json
ninja -C out -t compdb cxx cc > compile_commands.json
本文介绍了如何在C/C++项目中利用compile_commands.json实现智能提示,包括从头开始的新项目使用Bear工具生成文件,以及现有大型工程通过Makefile、CMake和Ninja构建系统生成索引的过程。
3724





