在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 中国大陆许可协议进行许可。

posted @   Error_666  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开