vscode中clangd插件设置

本文介绍如何在VSCode中配置clangd插件以优化C++代码的自动补全和智能提示功能。主要步骤包括:打开命令输入框并进入设置界面,在settings.json中添加编译参数,如设置C++版本为C++17,指定项目及第三方依赖的头文件路径。
在使用vscode的自带的自动补全和智能提示插件总是出现问题,所以决定卸载原有的插件改用clangd这个插件

clangd的设置主要是通过设置编译参数的来实现的。
1.在vscode编辑中键入ctrl+shift+p打开命令输入框
2. 在命令输入框中输setting.json
3. 在setting.json中添加编译参数,这要是添加库的路径,不然编辑器会出现报错。
添加方式如下

{
    "clangd.fallbackFlags": [
        // 设置clangd代码检查的c++版本,目前默认是c++14
        "-std=c++17",
        // 增加项目自身头文件依赖路劲,因为使用vs2019编译不会生成compile_command.json文件,项目自己的头文件就不会找到
        "-I${workspaceFolder}", // 项目根目录
        "-I${workspaceFolder}/third_party/include" // 第三方依赖的头文件目录
      ]
}
VSCode配置clangd插件用于ROS2开发可按以下步骤进行: ### 1. 安装clangd插件VSCode的扩展商店中搜索“clangd”,并安装该插件。 ### 2. 配置ros的头文件路径和环境变量 VSCode配置文件需要配置ros的头文件路径,其相当于在终端中执行`source`操作加载ROS环境,同时还需要设置相关环境变量。可以在`settings.json`文件中添加如下内容: ```json { "terminal.integrated.env.linux": { "CMAKE_MODULE_PATH": "/opt/ros/<ros2_distro>/share/catkin/cmake", "ROS_DISTRO": "<ros2_distro>", "ROS_ETC_DIR": "/opt/ros/<ros2_distro>/etc/ros", "ROS_OS_OVERRIDE": "ubuntu", "ROS_PACKAGE_PATH": "/opt/ros/<ros2_distro>/share", "ROS_PYTHON_VERSION": "3", "ROS_ROOT": "/opt/ros/<ros2_distro>/share/ros", "ROS_VERSION": 2, "LD_LIBRARY_PATH": "/opt/ros/<ros2_distro>/lib" } } ``` 请将`<ros2_distro>`替换为你实际使用的ROS2版本,如`foxy`、`humble`等。 ### 3. 指向compile_commands.json 需要配置指向`compile_commands.json`文件的路径,在`settings.json`中添加如下内容: ```json { "C_Cpp.default.compileCommands": "${workspaceFolder}/compile_commands.json" } ``` ### 4. 配置clangd参数 在`settings.json`中添加clangd配置参数,示例如下: ```json { "C_Cpp.intelliSenseEngine": "Disabled", "clangd.path": "clangd", "clangd.arguments": [ "--background-index", "--compile-commands-dir=${workspaceFolder}/build", "--clang-tidy", "--header-insertion=iwyu" ] } ``` ### 5. 生成compile_commands.json 在ROS2工作空间的根目录下,使用以下命令生成`compile_commands.json`文件: ```bash colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ``` 此命令会在`build`目录下生成`compile_commands.json`文件。 ### 6. 验证配置 打开一个ROS2的C++源文件,查看是否能够正常进行代码分析、自动补全等操作。如果遇到红线等问题,可以通过按`Ctrl+Shift+P`,输入`C/C++: Edit Configurations (UI)`进行进一步配置(也可以直接将鼠标放在红线处,点击`Quick fix`,再选择`edit "includePath"`) [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值