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 letax编译中英文论文(傻瓜式、一分钟)
ide·vscode·编辑器
汪宁宇1 天前
如何在QT5+MinGW环境中编译使用QGIS开发地图应用
c++·qt·qgis·mingw·地图库
charlie1145141911 天前
在上位机上熟悉FreeRTOS API
笔记·学习·嵌入式·c·freertos·工程
猪在黑魔纹里2 天前
解决VSCode无法高亮、解析numpy中的部分接口(如pi、deg2rad)
ide·vscode·python·numpy
辣椒酱.2 天前
vscode报错------控制台
vscode·编辑器
欢喜躲在眉梢里2 天前
基于 openFuyao 社区的无硬件 UB 开发实战指南
运维·数据库·人工智能·vscode·ai·开发工具·go开发
粤M温同学2 天前
VsCode快速打出console.log()方法设置
vscode·编辑器
阿关@2 天前
Vscode中Python无法将pip/pytest”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
vscode·python·pip
前端小臻2 天前
分享一个vscode的todo插件(todo Tree 包含使用
ide·vscode·编辑器
liu****2 天前
二.protobuf的使用
c++·c·protobuf·企业级组件