xmake vscode+clangd实现c/c++程序更精确跳转、补全

clangd相比与vscode自带的c/c++插件要好用很多,使用xmake搭配vscode开发c/c++程序时,可以通过下面方法使用clangd。

生成compile_commands.json

好像是叫什么compile database,xmake可以使用下面两种方式生成。

1、手动生成

xmake project -k compile_commands

还可以加上--lsp指定lsp后端:

xmake project -k compile_commands --lsp=clangd

2、规则自动生成

xmake.lua中添加下面规则,编译时会自动更新:

lua 复制代码
add_rules("plugin.compile_commands.autoupdate", {outputdir = ".vscode"})

outputdir是json文件输出目录,默认在项目根目录下生成。

貌似还可以使用vscode xmake插件生成。

clangd插件配置

配置前需要安装clangd插件,并根据提示安装clangd到系统上。这里很可能需要科学上网,不然下载很慢,或者可以手动下载安装。

在.vscode的settings.json设置compile_commands.json路径:

json 复制代码
    "clangd.arguments": [
        "--compile-commands-dir=${workspaceFolder}/.vscode",
        // "--completion-style=detailed",
        // "--header-insertion=never"
    ],

参考:clang - Visual Studio Code clangd extension configuration - Stack Overflow

.cache下是clangd生成的索引文件:

相关推荐
局部有解4 分钟前
Hot100 - 三数之和
数据结构·c++·算法
学逆向的19 分钟前
C 数据溢出与精度丢失
c语言·开发语言·网络安全
longlongzihan20 分钟前
C++ 常用数据结构速查:vector、stack、queue、list、树、图、哈希表等声明与核心操作
数据结构·c++·list
别动我齐刘海40 分钟前
实时控制学习2
linux·c++·人工智能·学习·算法
Zwawa1 小时前
PID 的三个参数之外:位置式、增量式和反馈控制
c语言·单片机·嵌入式
slimer2 小时前
11.C 语言 printf 打印函数详解:格式说明符、宽度精度与安全输出
linux·c语言
hetao17338372 小时前
校内场-提高组 ZYZSC-S-Round 2
c++·算法
hetao17338372 小时前
2026-10-14 hetao1733837 的刷题记录
c++·算法
2501_915106322 小时前
iOS开发之Xcode常用调试技巧总结
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
浅念-3 小时前
动态规划:线性DP——多状态DP与子数组专题笔记
c++·笔记·算法·leetcode·职场和发展·动态规划·力扣