VSCode、clangd、mingw 配置与使用

1.安装

安装如下软件:

  • VSCode
  • clangd 扩展
  • mingw-w64

2.配置

配置好 mingw-w64 到用户环境中。

在项目中设置 .clangd 扩展,设置 argument

json 复制代码
//setting.json

    "clangd.arguments": [
        "--query-driver=D:\\Development\\Tools\\mingw64\\bin\\gcc.exe"
    ]

然后创建 .clangd 文件进行配置,内容如下

yaml 复制代码
CompileFlags:
  Compiler: gcc.exe

3.结果

clangd 成功解析

clangd log

复制代码
I[16:27:25.990] <-- shutdown(25)
I[16:27:25.990] --> reply:shutdown(25) 0 ms
I[16:27:25.991] <-- exit
I[16:27:25.991] LSP finished, exiting with status 0
I[16:27:26.112] clangd version 20.1.0 (https://github.com/llvm/llvm-project 24a30daaa559829ad079f2ff7f73eb4e18095f88)
I[16:27:26.113] Features: windows+grpc
I[16:27:26.113] PID: 17468
I[16:27:26.113] Working directory: d:\Development\Projects\VSCodeProjects\learnC
I[16:27:26.113] argv[0]: D:\Development\Tools\clangd_20.1.0\bin\clangd.exe
I[16:27:26.113] argv[1]: --query-driver=D:\Development\Tools\mingw64\bin\gcc.exe
I[16:27:26.122] Starting LSP over stdin/stdout
I[16:27:26.122] <-- initialize(0)
I[16:27:26.135] --> reply:initialize(0) 12 ms
I[16:27:26.136] <-- initialized
I[16:27:26.140] <-- textDocument/didOpen
E[16:27:26.151] System include extraction: driver clang not found in PATH
I[16:27:26.152] <-- textDocument/documentSymbol(1)
I[16:27:26.154] --> textDocument/publishDiagnostics
I[16:27:26.156] <-- textDocument/documentLink(2)
I[16:27:26.156] Failed to find compilation database for d:\Development\Projects\VSCodeProjects\learnC\w3schools\test.c
I[16:27:26.163] <-- textDocument/inlayHint(3)
I[16:27:26.322] System includes extractor: successfully executed D:\Development\Tools\mingw64\bin\gcc.exe
	got includes: "D:/Development/Tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include-fixed, D:/Development/Tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/include"
	got target: "x86_64-w64-mingw32"
I[16:27:26.323] ASTWorker building file d:\Development\Projects\VSCodeProjects\learnC\w3schools\test.c version 1 with command clangd fallback
[d:\Development\Projects\VSCodeProjects\learnC\w3schools]
"D:\\Development\\Tools\\mingw64\\bin\\gcc.exe" -isystem D:/Development/Tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include-fixed -isystem D:/Development/Tools/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/include --target=x86_64-w64-mingw32 "-resource-dir=D:\\Development\\Tools\\clangd_20.1.0\\lib\\clang\\20" -- "d:\\Development\\Projects\\VSCodeProjects\\learnC\\w3schools\\test.c"
I[16:27:26.326] --> textDocument/clangd.fileStatus
I[16:27:26.351] <-- textDocument/foldingRange(4)
I[16:27:26.351] --> reply:textDocument/foldingRange(4) 0 ms
I[16:27:26.362] Built preamble of size 460200 for file d:\Development\Projects\VSCodeProjects\learnC\w3schools\test.c version 1 in 0.04 seconds
I[16:27:26.363] --> workspace/semanticTokens/refresh(0)
I[16:27:26.363] Indexing c17 standard library in the context of d:\Development\Projects\VSCodeProjects\learnC\w3schools\test.c
I[16:27:26.364] <-- reply(0)
I[16:27:26.365] <-- textDocument/semanticTokens/full(5)
I[16:27:26.381] --> textDocument/publishDiagnostics
I[16:27:26.381] --> textDocument/inactiveRegions
I[16:27:26.382] --> reply:textDocument/documentSymbol(1) 230 ms
I[16:27:26.382] --> reply:textDocument/documentLink(2) 225 ms
I[16:27:26.382] --> reply:textDocument/inlayHint(3) 218 ms
I[16:27:26.382] --> reply:textDocument/semanticTokens/full(5) 17 ms
I[16:27:26.382] --> textDocument/clangd.fileStatus
I[16:27:26.476] Indexed c17 standard library: 2683 symbols, 2 filtered
相关推荐
摇滚侠1 天前
VsCode 前端开发快捷语法,Emmet 快捷语法整理,markdown 表格格式
ide·vscode·编辑器
itman3012 天前
Windows环境下编译运行C语言程序的方法及工具选择
c语言·visualstudio·mingw·编译器·windows环境
小宋加油啊2 天前
Mac vscode安装PCL
ide·vscode·macos
jolimark2 天前
Windows下如何用GCC编译C语言?轻便方法分享
c语言·windows·git·mingw·gcc编译器
꯭爿꯭巎꯭2 天前
visual studio code (vscode)下载
ide·vscode·编辑器
magic334165632 天前
ESP32S3开发环境介绍和创建工程
vscode·c·头文件
萌萌站起3 天前
Vscode 中 python模块的导入问题
ide·vscode·python
aqiu~3 天前
VSCode编辑器用于Unity项目
vscode·unity
charlie1145141913 天前
嵌入式现代C++工程实践——第10篇:HAL_GPIO_Init —— 把引脚配置告诉芯片的仪式
开发语言·c++·stm32·单片机·c
ZXF_H3 天前
VSCode C/C++函数Ctrl+鼠标点击无法跳转的解决方法
c++·ide·vscode