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中选定的环境

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐