官网下载就可以了,免费的: https://code.visualstudio.com/
直接在左侧找到扩展按键,安装c++扩展包:

直接安装 https://sourceforge.net/projects/mingw-w64/files/
再把安装好的mingw加入系统环境变量:

验证是否安装成功:

新建测试文件:
#include
using namespace std;
int main()
{cout << "hello world" << endl;return 0;
}
点击以调试/非调试模式运行:

选GDB:

选g++:

这个时候就可以正常运行显示结果了,程序可以正常执行,调试、运行都可以。

但是细心的同学可以发现,在左侧文件此时多了两个文件:lauch.json、tasks.json。这是两个非常重要的文件,是整个开发的重点配置,需要好好了解清楚他们是干嘛的。
功能:用于添加gdb调试任务,运行可执行文件。
初始化生成:
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "g++.exe - 生成和调试活动文件","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 调用的exe名,要与tasks生成的exe名一致"args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false, // // 决定输出是单独外部黑窗口显示,还是在IDE里终端黑窗口显示"MIMode": "gdb","miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}], "preLaunchTask": "C/C++: g++.exe 生成活动文件" // 此项命名需要与tasks.json中的label项命名一致,作用是每次调用launch时会先调用tasks.json,从而不用自己每次都ctrl+shift+b手动生成最新任务后,才能调用launch}]
}
【参数】
功能:相当于gcc编译步骤汇总,也可以调用makefile,最终生成可执行文件。
描述了需要调用什么命令来执行任务,相当于直接在命令行cmd中执行命令。对应到c++开发,就是程序构建的过程。
初始化生成:
{"tasks": [{"type": "cppbuild","label": "C/C++: g++.exe 生成活动文件", // 需与lauch.json中"preLaunchTask"项命名一致"command": "D:\\mingw64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe" // 输出exe名,要与launch中调用的program项命名一致],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}
【参数配置】
lanch.json中的preLaunchTask所使用;g++,gcc这些构建命令,这里一半写系统的环境变量中的g++地址;关注上面的加黑的几个参数,配置好了一般不会有什么问题。
tasks.json里的label名字和launch.json中的preLaunchTask名字没对应上,导致编译后launch不到对应exe。
分析:tasks.json是编译,launch.json是运行exe,tasks.json在lanuch之前。tasks里的label一定要跟launch.json中的preLaunchTask名字对应一致。否则会报找不到gcc任务错误。
b站: 【教程】VScode中配置C语言/C++运行环境
知乎: vscode如何在最新版本中配置c/c++语言环境中的launch.json和tasks.json?
上一篇:美如英语般美好,却又极其大众化