0


VSCode使用Clangd

前言

在使用微软的C/C++插件时,遇到较大项目时,代码提示速度非常的慢,这时可以使用clangd

1、系统安装clangd

版本选择:Linux
github仓库: https://github.com/clangd/clangd/releases

在这里插入图片描述
解压下载好的安装包:

unzip clangd-linux-15.0.6.zip

然后进入该文件夹:

cd clangd_15.0.6/

将bin文件夹下的clangd移动到 /usr/bin 目录下:

cd bin/
sudo mv clangd /usr/bin/

将 lib 目录下,拷贝至 /usr/local/lib 目录下:

cd …/lib/
sudo mv clang /usr/local/lib

2、VSCode 安装 Clangd

安装插件:
在这里插入图片描述
clangd扩展设置clangd路径:文件 -> 首选项 -> 设置

在搜索框中输入:**@ext:llvm-vs-code-extensions.vscode-clangd Path**

在这里插入图片描述此时已经设置完成,重启一下VSCode

3、解决 clangd bug

创建一个 main.c 文件,内容为:

#include<stdio.h>intmain(){printf("Hello World !\n");return0;}

此时会报一个错误

In included file: ‘stddef.h’ file not foundclang(pp_file_not_found)

解决办法如下:
在clangd扩展设置界面找到 Clangd: Fallback Flags
在这里插入图片描述添加一下内容

-xc //clangd默认检测的源文件为c++,手动设置为检测c
-std=c11 //c语言标准
-I/usr/lib/gcc/x86_64-linux-gnu/11/include //clangd有些库指向有问题,手动添加一下文件路径

注意: 这个路径

/usr/lib/gcc/x86_64-linux-gnu/11/include

根据自己的电脑路径来添加

在这里插入图片描述此时在重启一下VSCode,再次打开 main.c 会发现错误消失了

4、打开工程文件

目前正在学习IMX6ULL开发,就以IMX6ULL裸机例程——irq中断处理为例

文件目录如下:

.
├── bsp
│   ├── beep
│   │   ├── bsp_beep.c
│   │   └── bsp_beep.h
│   ├── clk
│   │   ├── bsp_clk.c
│   │   └── bsp_clk.h
│   ├── delay
│   │   ├── bsp_delay.c
│   │   └── bsp_delay.h
│   ├── exti
│   │   ├── bsp_exti.c
│   │   └── bsp_exti.h
│   ├── gpio
│   │   ├── bsp_gpio.c
│   │   └── bsp_gpio.h
│   ├── int
│   │   ├── bsp_int.c
│   │   └── bsp_int.h
│   ├── key
│   │   ├── bsp_key.c
│   │   └── bsp_key.h
│   └── led
│       ├── bsp_led.c
│       └── bsp_led.h
├── build
│   ├── bsp_beep.o
│   ├── bsp_clk.o
│   ├── bsp_delay.o
│   ├── bsp_exti.o
│   ├── bsp_gpio.o
│   ├── bsp_int.o
│   ├── bsp_key.o
│   ├── bsp_led.o
│   ├── __int.bin
│   ├── __int.dis
│   ├── __int.elf
│   ├── __int.map
│   ├── main.o
│   └── start.o
├── imx6u.lds
├── imx6ull
│   ├── cc.h
│   ├── core_ca7.h
│   ├── fsl_common.h
│   ├── fsl_iomuxc.h
│   ├── imx6ull.h
│   └── MCIMX6Y2.h
├── imxdownload
├── load.imx
├── Makefile
└── project
    ├── main.c
    └── start.S

打开之后头文件会显示没有该文件,此时我们设置一下该项目的头文件路径

首先在项目的根目录下创建一个 .vscode 文件夹,并在该文件夹下创建一个 settings.json 文件

在这里插入图片描述

settings.json 中写入以下内容

{"clangd.fallbackFlags":["-xc","-std=c11",//C语言标准// 第三方依赖的头文件目录"-I/usr/lib/gcc/x86_64-linux-gnu/11/include","-I${workspaceFolder}/project","-I${workspaceFolder}/imx6ull","-I${workspaceFolder}/bsp/led","-I${workspaceFolder}/bsp/delay","-I${workspaceFolder}/bsp/clk","-I${workspaceFolder}/bsp/beep","-I${workspaceFolder}/bsp/gpio","-I${workspaceFolder}/bsp/key","-I${workspaceFolder}/bsp/int","-I${workspaceFolder}/bsp/exti",],}

此时重新打开该项目,头文件就不会再报错了,也支持函数跳转了

标签: vscode ide 编辑器

本文转载自: https://blog.csdn.net/m0_47329175/article/details/128677511
版权归原作者 点灯大师~ 所有, 如有侵权,请联系我们删除。

“VSCode使用Clangd”的评论:

还没有评论