本文默认已经下载且安装好vscode,主要是解决环境变量配置以及编译task、launch文件的问题。
自己尝试过许多博客,最后还是通过这种方法配置成功了。
Linux(ubuntu 20.04)配置vscode可以直接跳转到配置task、launch文件,不需要下载mingw与配置环境变量,只需要在终端下载好gcc与g++即可。
linux系统打开终端:运行下面两条指令下载完毕后直接跳转到配置task、launch文件,windows与linux的launch文件内容不同。Linux的task、launch配置补充在了文档最下方。
$sudo apt-get install g++
$sudo apt-get install gcc
Windows:
1.下载MinGW
Mingw下载地址:
下载压缩包——×86_64-posix-sjlj
(然后解药到指定文件夹,免安装,但是要配置bin文件夹环境变量)
官网下载慢
可以在国内网站下载
解压后如下图:
进入bin目录复制bin文件目录路劲,比如我这里是D:\binbin-download\mingw64\bin
配置环境变量:在windows搜索框输入环境变量就出来了
快捷键win+R打开cmd运行gcc -v或者g++ -v
出现这个提示框 最后显示gcc version证明配置环境变量成功。
打开vscode,点击扩展,在顶端搜索c/c++,chinese,code runner,下载c/c++、chinese插件。(图中第一个就好)
关键的一步来了,首先建立一个文件夹名字为Code,用来存放c/c++代码,然后再在Code文件夹下创建一个.vscode,再在Code根目录下创建一个c/c++测试文件test.cpp,
如图(.vscode里面的文件后面配置)
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
printf("Hello World\n");
return 0;
}
进入调试界面添加配置环境,选择 C++(GDB/LLDB),再选择 g++.exe,之后会自动生成 launch.json 配置文件,涉及到mingw的路劲的将其改为自己mingw里文件的路劲名。
在vscode的 .vscode目录下配置三个json文件
打开vscode按Ctrl+Shift+p,点击红色框里的就可以生成.vscode文件夹
或者在这里直接建立两个文件夹
之后配置task_json、launch_json
task_json:
{
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\Install\\develop\\mingw64\\bin\\g++.exe",//改成自己g++的路劲名
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, //修改此项,让其弹出终端
"MIMode": "gdb",
"miDebuggerPath": "C:\\Install\\develop\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" //将此项修改成task.json一样
}
]
}