windows11下配置vscode中c/c++环境

本文默认已经下载且安装好vscode,主要是解决环境变量配置以及编译task、launch文件的问题。

自己尝试过许多博客,最后还是通过这种方法配置成功了。

Linux(ubuntu 20.04)配置vscode可以直接跳转到配置task、launch文件,不需要下载mingw与配置环境变量,只需要在终端下载好gcc与g++即可。

linux系统打开终端:运行下面两条指令下载完毕后直接跳转到配置task、launch文件,windows与linux的launch文件内容不同。Linux的task、launch配置补充在了文档最下方。

cpp 复制代码
$sudo apt-get install g++
cpp 复制代码
$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里面的文件后面配置)

cpp 复制代码
#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:

cpp 复制代码
{
    "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:

cpp 复制代码
{
 
    "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一样
        }
    ]
}
相关推荐
-To be number.wan8 小时前
C++ 赋值运算符重载:深拷贝 vs 浅拷贝的生死线!
前端·c++
意趣新8 小时前
C 语言源文件从编写完成到最终生成可执行文件的完整、详细过程
c语言·开发语言
XXYBMOOO9 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
lengjingzju11 小时前
一网打尽Linux IPC(三):System V IPC
linux·服务器·c语言
范纹杉想快点毕业12 小时前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
SoveTingღ13 小时前
【问题解析】我的客户端与服务器交互无响应了?
服务器·c++·qt·tcp
ygqygq213 小时前
让 AI 编程助手更智能:Turbo AI Rules 扩展使用指南
vscode·ai·扩展·rules
温宇飞13 小时前
内存异常
c++
!停14 小时前
c语言动态申请内存
c语言·开发语言·数据结构
挖矿大亨15 小时前
C++中深拷贝与浅拷贝的原理
开发语言·c++·算法