VSCode配置C/C++语言环境(2023最新版)

 更新时间:2023年11月09日 16:20:47   作者:-资本家-  
这篇文章主要介绍了VSCode配置C/C++语言环境(2023最新版)的全过程,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

基本步骤:

下载并安装VSCode

vscode下载地址 https://code.visualstudio.com/

不会安装vscode的看下方博客:

超详细VSCode安装教程(Windows)

安装C++插件

安装编译器(MinGW-W64 GCC)

C编译器(MinGW-W64 GCC)下载地址:

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

在线下载的exe文件一般是会有网络的问题,导致下载不了,建议windows64位直接下载8.1.0版本的x86_64-win32-seh或者x86_64-posix-seh。两者在多线程方面有些许差异,一般情况不会用到该功能,所以两者皆可。下载后用解压软件解压即可。

配置环境变量

找到这个文件夹内的一个叫bin的文件夹,然后把它的地址复制一下:

打开之后将刚刚复制的地址添加进去:

然后点确定,之前弹出的所有页面都点击确定。然后测试环境配置是否成功:
Win+R快捷键打开运行窗口,在里面输入cmd,回车打开cmd.exe

在cmd.exe中输入如下命令:
gcc -v -E -x c++ -
如果运行结果像下方图片中这样,就配置成功了。

配置

最后在VSCode中进行相关配置:
先新建一个文件夹作为C语言项目文件,然后点击菜单栏中的File——>Open Folder,找到刚才新建的文件夹,然后点击选择文件夹打开这个项目文件。
然后在里面新建一个hello.c文件(名字随便起,以.c结尾就行了)

然后再建一个
.vscode文件夹(注意前面有个点),在里面建三个文件,c_cpp_properties.json、launch.json、tasks.json

c_cpp_properties.json:将这段代码复制进去

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/MinGW-W64 GCC/mingw64/include/**",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    "C:/MinGW-W64 GCC/mingw64/include/**",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "C:/MinGW-W64 GCC/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}

然后,下方红框里的内容需要修改,将所有的改为自己的安装路径:

launch.json:复制粘贴,然后miDebuggerPath属性里的内容也要改成自己的路径

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd",
            "preLaunchTask": "echo",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "echo.",
                "&",
                "pause"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console":"externalTerminal"
        },
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGW-W64 GCC\\mingw64\\bin\\gdb.exe",// 自己电脑的gdb
            "preLaunchTask": "echo",//这里和task.json的label相对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json:复制粘贴

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g", 
                "${file}", 
                "-o", 
                "${fileBasenameNoExtension}.exe",
                "-fexec-charset=GBK",//解决中文乱码
                "-lstdc++"//解决只能运行c不能运行c++
            ]
        }
    ],
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared", 
        "showReuseMessage": true,
        "clear": false
    }
}

然后就可以在之前建的hello.c文件里面写程序啦,比如我们熟悉的hello world:

#include<stdio.h>
main()
{
    printf("hello world\n");
    //system("pause");
}

程序闪退问题

上面的三个文件只要复制正确,路径改成自己的闪退问题就已经解决

实在不行你就把输入

system("pause");

f5运行结果:

vscode配置c/c++环境就配置完成。

到此这篇关于VSCode配置C/C++语言环境(2023最新版)的文章就介绍到这了,更多相关VSCode配置C/C++内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在C语言中输入中文字符串讲解

    在C语言中输入中文字符串讲解

    这篇文章主要介绍了在C语言中输入中文字符串讲解,本文通过概念和案例相结合讲述了如何在C语言中使用中文,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言全方位讲解数组的使用

    C语言全方位讲解数组的使用

    数组是一组有序的数据的集合,数组中元素类型相同,由数组名和下标唯一地确定,数组中数据不仅数据类型相同,而且在计算机内存里连续存放,地址编号最低的存储单元存放数组的起始元素,地址编号最高的存储单元存放数组的最后一个元素
    2022-04-04
  • 解决pip install dlib报错C++11 is required to use dlib

    解决pip install dlib报错C++11 is required to use dlib

    这篇文章主要介绍了在使用pip install dlib安装dlib的时候报错C++11 is required to use dlib的解决方法,需要的的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • C++实现时间转换及格式化

    C++实现时间转换及格式化

    这篇文章主要为大家详细介绍了C++中实现时间转换及格式化的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C语言三子棋小游戏的实现

    C语言三子棋小游戏的实现

    这篇文章主要为大家详细介绍了C语言三子棋小游戏的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • 关于C++菱形运算符深度解析

    关于C++菱形运算符深度解析

    从语言标准来说,c++里没有什么菱形运算符,c++20里虽然新增了一个运算符operator<=>,但这个和所谓的菱形运算符没有任何关系,下面通过本文探讨C++里也有菱形运算符吗这一问题探讨,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • C++实现LeetCode(163.缺失区间)

    C++实现LeetCode(163.缺失区间)

    这篇文章主要介绍了C++实现LeetCode(163.缺失区间),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言数据结构之单链表存储详解

    C语言数据结构之单链表存储详解

    链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。本文将和大家一起聊聊C语言中单链表的存储,感兴趣的可以学习一下
    2022-07-07
  • C++实现简单计算器

    C++实现简单计算器

    这篇文章主要为大家详细介绍了C++实现简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • opencv利用霍夫变换检测直线进行图片校正

    opencv利用霍夫变换检测直线进行图片校正

    这篇文章主要为大家详细介绍了opencv利用霍夫变换检测直线对图片进行校正,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12

最新评论