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++ std::map几种遍历方式(正序倒序)

    C++ std::map几种遍历方式(正序倒序)

    这篇文章主要介绍了C++ std::map几种遍历方式,包含正序遍历和倒序遍历,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • C++卸载程序功能示例

    C++卸载程序功能示例

    用C++写一个自己的卸载程序来完成程序的卸载工作,同时运行后要删除卸载程序本身,并删除卸载程序所在的文件夹
    2013-11-11
  • C++中继承(inheritance)详解及其作用介绍

    C++中继承(inheritance)详解及其作用介绍

    这篇文章主要介绍了C++中继承(inheritance)详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C++高级数据结构之优先队列

    C++高级数据结构之优先队列

    这篇文章主要介绍了C++高级数据结构之优先队列,文章围绕主题的相关资料展开详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 一文详解C++中运算符的使用

    一文详解C++中运算符的使用

    这篇文章主要为大家详细介绍了C++中运算符的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-05-05
  • C++中的自增与自减

    C++中的自增与自减

    这篇文章主要介绍了C++中的自增与自减,自增与自减是C++当中两个使用频率非常高的运算符,不仅在循环当中用到,在日常的代码当中也经常使用,下面来看看文章得具体介绍
    2021-11-11
  • C++中的数组详情

    C++中的数组详情

    这篇文章主要介绍了C++中的数组,数组其实也是一种数据格式,不过是一种复合类型,它可以存储多个同类型的值。使用数组可以将同类型的变量整合起来管理,下面俩看看文章的具体举例内容,需要的朋友可以参考一下
    2021-11-11
  • C++11中模板隐式实例化与显式实例化的定义详解分析

    C++11中模板隐式实例化与显式实例化的定义详解分析

    实例化是为在程序中的函数模板本身并不会生成函数定义,它只是一个用于生成函数定义的方案。编译器使用模板为特定类型生成函数定义时,得到的是模板实例。这即是函数模板的实例化。而函数模板实例化又分为两种类型:隐式实例化和显式实例化
    2022-04-04
  • 基于C++编写一个键盘提示音程序

    基于C++编写一个键盘提示音程序

    首先讲一下思路,这次制作的小黑子相当于键盘提示音,输入J,N,T,M,会发出“鸡你太美”的声音,连续按下JNTM则会发出“你干嘛啊,哎呦”的声音,感兴趣的可以了解一下
    2023-03-03
  • C++实现简单图书馆管理系统

    C++实现简单图书馆管理系统

    这篇文章主要为大家详细介绍了C++实现简单图书馆管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论