在VS Code中配置C/C++
之前因为学了一点html,所以下了一个VS Code来写html代码。
今天要写C++的代码,以前都是用VS写的。但是突然想了一下既然都装了VS Code,为啥不配置一下。配置好了后以后写C/C++代码也不用打开繁重的VS了。而且VS Code还能加很多插件。
说干就干,上网找了资料,终于配置好了。还是有蛮多坑的,主要是因为网上的教程大部分版本比较老了。所以我来写个教程,方便别人和以后自己在别的电脑上配置。我总结出以下几步:
1. 下载MinGW-w64并配置系统变量
-
MinGW是是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。
-
但是MinGW的很早就停止维护了,版本很老了。
-
MinGW-w64相当于升级版的MinGW,是一个开源项目,不断在更新维护着。
-
下载链接,划到最下面,选择“MinGW-W64 GCC-8.1.0”下的“x86_64-win32-seh”进行下载。
-
下载好后,解压到自己想要的位置。然后将其中的bin路径配置到系统变量中。
-
打开cmd,输入gcc --version和gdb --version,弹出版本信息就说明这一步完成了。
2. 下载插件C/C++,Code Runner
- 在VS Code中下载即可。
3. 配置文件
-
新建一个项目文件夹,在下面建立一个.vscode文件夹,下面建立三个文件,launch.json,tasks.json,c_cpp_properties.json,然后依次把我的代码复制进去。注意代码中的“(改为自己的路径)”
-
lauch.json
{ "version": "0.2.0", "configurations": [ { "name": "C++ Launch (GDB)", "type": "cppdbg", "request": "launch", "targetArchitecture": "x86", "program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe", "miDebuggerPath":"D:\\app\\mingw64\\bin\\gdb.exe", (改为自己的路径) "args": [], "stopAtEntry": false, "cwd": "${workspaceRoot}", "externalConsole": true, "preLaunchTask": "D:/app/mingw64/bin/g++.exe" (改为自己的路径) } ] }
- tasks.json
{ "version": "2.0.0", "command": "D:/app/mingw64/bin/g++.exe", (改为自己的路径) "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"], "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, "tasks": [ { "label": "D:/app/mingw64/bin/g++.exe", (改为自己的路径) "command": "D:/app/mingw64/bin/g++.exe", (改为自己的路径) "args": [ "-g", "-std=c++11", "${file}", "-o", "${workspaceRoot}\\${fileBasenameNoExtension}.exe" ], "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "${workspaceRoot}" ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, "group": { "_id": "build", "isDefault": false } } ] }
- c_cpp_properties.json
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceRoot}", "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include//c++/tr1", (改为自己的路径) "D:/app/mingw64/x86_64-w64-mingw32/include" ], "defines": [ "_DEBUG", "UNICODE", "__GNUC__=6", "__cdecl=__attribute__((__cdecl__))" ], "intelliSenseMode": "msvc-x64", "browse": { "path": [ "${workspaceRoot}", "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/", (改为自己的路径) "D:/app/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include//c++/tr1", (改为自己的路径) "D:/app/mingw64/x86_64-w64-mingw32/include" (改为自己的路径) ] }, "compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64\\cl.exe", "cStandard": "c17", "cppStandard": "c++17" } ], "version": 4 }
-
在项目文件夹中新建cpp文件,随便写一个程序。然后F5调试。
-
如果能输出正确结果就没问题。如果不能,比如std或者cout报错的话,就打开设置,在"C/C++"中找到C_Cpp:intelli Sense Engine,将默认的“Default”改为“Tag Parser”。
-
此时按F5就可以正常实现调试功能了。
-
其实如果你不用调试的话,直接Ctrl + F5用Code Runner跑代码就行了。
本文作者:Error_666
本文链接:https://www.cnblogs.com/Error666/p/17739241.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?