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
相关推荐
暴走十八步4 小时前
PHP+vscode开启调试debug
开发语言·vscode·php
you-_ling4 小时前
IO编程相关知识
c语言·vscode
学嵌入式的小杨同学13 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
zhanglianzhao1 天前
Win 11 WSL 配置Claude code 并在VsCode中使用
ide·vscode·编辑器·claude·cladue code
Keying,,,,1 天前
VScode中终端闪退问题
ide·vscode·编辑器
热爱生活的五柒1 天前
如何在vscode中使用Claude code以及插件中配置setting.json无效的解决方法
ide·vscode·编辑器
浩瀚之水_csdn1 天前
vscode中运行html语言
ide·vscode·html
JQLvopkk1 天前
VSCode基础使用
ide·vscode·编辑器
春日见1 天前
docker崩溃,闪退,与vscode断开连接
vscode·docker·容器
一个没有本领的人1 天前
vscode选择了正确的解释器,但终端显示运行的依然为原来的python版本
ide·vscode·python