文章目录
vscode使用compile_commands.json配置includePath环境
使用vscode进行c++代码编写时,配置代码includePath能够提供函数跳转,自动补全以及报错等帮助。由于有些库的路径不太好找且逐条添加到vscode中过于繁琐,本处介绍使用cmake导出json的方式介绍配置vscode环境(适用于CMakeLists.txt编译方式)。
1.使用cmake导出compile_commands.json
1.常规程序
本处在build文件夹下编译程序,导出方式如下:
#进入工程文件夹
cd project_dir
#创建build文件夹
mkdir build
cd build
#生成makefile同时导出json文件
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES ..
#编译
make
在上面使用cmake时通过添加选项
-DCMAKE_EXPORT_COMPILE_COMMANDS=YES
导出了cmake预编译时查询的编译环境,可在build下找到compile_commands.json文件。
2.ros下使用
使用ROS的同学同样可以通过添加该选项来生成json文件,编译时命令如下:
catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
编译完成后便可在ros工作空间的build文件下找到compile_commands.json文件
3.在CMakeLists.txt中添加set命令
如果不想在每次编译时在命令行中添加cmake配置命令,一个简单的方式是在CMakeLists.txt的上面添加
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
这样就不用每次都在终端中输入繁琐的配置命令,直接使用cmake便可以生成compile_commands.json文件
2.向vscode中添加json文件
1.生成c_cpp_properties.json文件
在vscode中使用ctrl++shift+P打开Command Palette,运行
C/Cpp: Edit configurations(JSON)
将会在.vscode文件夹下生成c_cpp_properties.json文件,打开后新增compileCommands选项,将第一部分生成的compile_commands.json文件路径添加到c_cpp_properties.json的compileCommands下,样式如下图所示:
这样便在vscode的工程添加了CMakeLists中选定的环境