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
相关推荐
回眸&啤酒鸭9 小时前
【回眸】解放双手,实现语音刷抖音小巧思
c·全志h616
a***131410 小时前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
YY&DS13 小时前
VSCode Remote SSH 远程 Linux 无法连接
vscode
(づど)2 天前
解决VSCode中安装Go环境Gopls失败的问题
vscode·golang
QQRRRRW2 天前
Tailwind+VScode (Vite + React + TypeScript) 原理与实践
vscode·react.js·typescript
_OP_CHEN2 天前
前端开发实战深度解析:(一)认识前端和 HTML 与开发环境的搭建
前端·vscode·html·web开发·前端开发
麦烤楽鸡翅2 天前
简单迭代法求单根的近似值
java·c++·python·数据分析·c·数值分析
charlie1145141912 天前
利用WSL + VSCode + ESP-IDF6开发ESP32系列单片机指南
ide·vscode·单片机·esp32·wsl·指南·工程
铁手飞鹰3 天前
单链表(C语言,手撕)
数据结构·c++·算法·c·单链表
0欧姆3 天前
VScode 创建 QNX 模板工程
ide·vscode·编辑器