VScode的C语言环境配置
VScode与MSYS2的C语言环境配置相关问题,笔者已经各种方式尝试了多次,终于有了一些经验,遂记录下来。
该方案虽然不是最优解,但具有较好的适配性,为在VSCode中使用MSYS2进行C开发提供了可行方案。
一、开始配置
二、找不到头文件
然后果然遇到了一些问题,首先就是C的头文件:
#include <stdio.h>报“无法使用 compilerPath 解析配置”
具体操作步骤:
① Ctrl+Shift+P,选择C/C++ 编译配置,


② 将图中标记的路径改为你自己的就可以了,遂解决了这个问题,这个比较简单,配置一下就可以了。
三、exe文件不存在

这里完整报错为:
launch:program '输入程序名称,例如a.exe' does not exist
报了一个launch.json配置文件的问题,于是笔者跟着AI将这个改了,后面发现问题并不在这里,而是在tasks.json文件里面,你需要要把你的ucrt64的路径配过去。
于是笔者探索了新方法,两个文件和使用方法都给在后面了。
补充:ucrt64和mingw64的区别
这里就简单说一下,需要更详细的话,建议直接问AI或者去搜更多的文章:
MINGW64 = 老运行时 msvcrt.dll → 兼容老系统,但标准旧、中文坑多
UCRT64 = 新运行时 ucrtbase.dll → 现代标准、中文友好、Win10 + 首选
| 特性 | MINGW64 | UCRT64 |
|---|---|---|
| C 运行时 | msvcrt.dll (老) |
ucrtbase.dll (新) |
| 系统支持 | Win7 ~ Win11 全兼容 | Win10 1709+ / Win11 |
| C/C++ 标准 | C11/C++17(部分缺失) | 完整 C23/C++23 |
| 中文 / Unicode | 一般,易乱码 / 路径报错 | 非常好 |
| GCC 版本 | 稍旧 | 最新 |
| Windows API | 老 API | 新 API 完整支持 |
| 适合场景 | 要兼容 Win7 的老项目 | 新项目首选、现代 C++、中文项目 |
*四、两个文件
然后这里笔者直接将自己配置好的launch.json和tasks.json给出,需要者自取,将对应的地址改成自己的就可以了。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "gcc 调试",
"type": "cppvsdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "externalTerminal"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "D:\\DevTools\\MSYS2\\msys64\\ucrt64\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:\\DevTools\\MSYS2\\msys64\\ucrt64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
]
}
*五、使用方法
将刚才的两个文件都放到.code文件夹下,编译运行,成功。

后续直接在你的工作目录下,将.code文件夹复制过去就行,然后就正常的编译调试运行,就都没有问题了。
这里笔者进行了一下测试,创建了一个新的目录test,

然后打断点,调试:

可以看到,使用没有任何问题。

六、总结
这就是笔者目前的配置了,虽然不是最方便的,但感觉适配性也可以,勉强能用。后续也希望大佬留言,给出更好的方法和博客链接。
更多推荐
所有评论(0)