前言:三天前我的电脑崩溃了,重装系统后需要再把C语言的开发环境搭建出来。这一次痛定思痛,不能再像以前小白的时候那样一连下载了好几个gcc,乱写环境变量; 软件不好好改路径,导致C盘爆掉; 卸载软件不规范,误删系统文件....
本人对VSCode情有独钟,又在网上学习到了MSYS2这个软件,可以配齐所有工具链,进行库管理。所以我就围绕VSCode和MSYS2想搭建一个最易管理的环境
但是!!这里一定要狠狠批评一下优快云教配置MSYS2和VSCode安装的博客,很多地方没有注意到,单纯的下载两个软件,配好环境变量,VSC就能找到MSYS2了吗?其实漏掉了很多细节...但是我用deepseek针对提问最后成功运行程序,小白最后也配好了环境
Q1
首先是下载好了MSYS2之后,需要两个指令把软件更新到比较高的版本,再下载工具链。你们可以从我的提问中看到,我在学习别人博客里面的MSYS2搭建部分时,别人给我提供了错误的指令
Q2
在这里的时候我选择去寻找终端类型,发现没有找到MSYS2 的bash ,同时提出这个问题让我对C语言有了更新一层的了解,那就是其实C语言的执行是在终端上面完成的,所谓的配置环境变量也是让终端去找gcc他们,找到了再去完成编译和链接,所谓的要在VScode里面去写json脚本文件,其本质也是VSCode去调用能用的终端。(C语言老师也没教过我这些,哭)
想到这里我就换了个思路,我可以通过VSCode打开终端,那也就意味着VSCode以后我在使用的时候我会纯把他当成一个文本编辑器,Bash才是我要去生成可执行文件的东西,我直接面向Bash启动程序就行了
所以我的第三个问题就是怎么做出两个软件之间的连接,那就是json怎么写,写对了,调用终端,就够了
Q3
{
// 其他已有配置(保留你的原有设置)...
// 配置终端配置文件
"terminal.integrated.profiles.windows": {
// 默认的 PowerShell 和 CMD 配置(保留原有配置)
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": ["cmd.exe"],
"icon": "terminal-cmd"
},
// 新增 MSYS2 UCRT64 终端配置
"MSYS2 UCRT64": {
"path": "C:\\msys64\\msys2_shell.cmd", // 或 "C:/msys64/msys2_shell.cmd"
"args": [
"-defterm", // 启用终端交互
"-here", // 继承 VSCode 当前目录
"-ucrt64" // 指定 UCRT64 环境(可选:-mingw64, -clang64, -msys)
],
"icon": "terminal-bash", // 可选图标
"env": {
// 强制注入 PATH(可选,确保 GCC 可用)
"PATH": "${env:PATH};C:\\msys64\\ucrt64\\bin"
}
}
},
// 设置默认终端为 MSYS2 UCRT64
"terminal.integrated.defaultProfile.windows": "MSYS2 UCRT64",
// 可选:为 C/C++ 扩展指定编译器路径
"C_Cpp.default.compilerPath": "C:\\msys64\\ucrt64\\bin\\gcc.exe",
"C_Cpp.intelliSenseMode": "gcc-x64"
}
这个代码修改路径就行了
Q4
到这里基本上就结束了,我可以调用出终端了,不过我没学过Bash指令,所以这件事也只好麻烦deepseek代劳咯~
这里就稍微注意一下,因为我知道一点点git ,所以我知道在编译C语言之前你需要定位到文件所在的路径就好了