zoukankan      html  css  js  c++  java
  • VS Code配置c语言环境

    1、在VS Code中安装c语言第三方扩展包


    将这两个扩展包安装完成

    2、下载MinGW,请下载64位的下载x86_64.seh版本,直接下载.exe文件很可能由于网络问题无法安装

    地址(失效百度找资源):https://www.lanzoui.com/ivp6higf27i
    密码:3wxa

    3、直接解压到自己喜欢的文件夹,并且配置环境变量

    3.1、在系统环境变量path中加上解压后到bin的路径(例如:D:apply-installWinGWmingw64in)

    3.2、在系统环境变量INCLUDE中加上解压后到include的路径(例如:D:apply-installWinGWmingw64include),首先检查自己的系统环境变量里有没有INCLUDE,如果没有就新建一个,然后把mingw的include路径加进去


    3.3、验证环境变量是否配置成功,在控制台输入gcc -v

    4、创建放置c语言程序的目录,在目录中创建.vscode文件夹,并创建名为launch.json、setting.json、tasks.json的文件

    4.1launch.json配置如下

    {
        "version": "0.2.0",  
        "configurations": [  
            {  
                "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg",       // 配置类型,这里只能为cppdbg
                "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
                "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
                "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
                "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
                "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
                "environment": [],  
                "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
                "MIMode": "gdb",  
                "miDebuggerPath": "D:\apply-install\WinGW\mingw64in\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
                "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
                "setupCommands": [  
                    {   
                "description": "Enable pretty-printing for gdb",  
                        "text": "-enable-pretty-printing",  
                        "ignoreFailures": true  
                    }  
                ]  
            }  
        ]  
    }
    

    miDebuggerPath修改为MinGw的安装目录下的bin目录下的gdb.exe文件路径

    4.2setting.json配置如下

    {
        "files.associations": {
            "tidl_alg_int.h": "c",
            "limits": "c"
        }
    }
    

    4.3tasks.json配置如下

    {
        // 有关 tasks.json 格式的参考文档:https://go.microsoft.com/fwlink/?LinkId=733558 。
        "version": "2.0.0",
        "tasks": [{
            "label": "gcc",
            "type": "shell", // { shell | process }
            // 适用于 Windows 的配置:
            "windows": {
                "command": "gcc",
                "args": [
                    "-g",
                    ""${file}"",
                    "-o",
                    ""${fileDirname}\${fileBasenameNoExtension}.exe""
                    // 设置编译后的可执行文件的字符集为 GB2312:
                    // "-fexec-charset", "GB2312"
                    // 直接设置命令行字符集为 utf-8:
                    // chcp 65001
                ]
            },
            // 定义此任务属于的执行组:
            "group": {
                "kind": "build", // { build | test }
                "isDefault": true // { true | false }
            },
            // 定义如何在用户界面中处理任务输出:
            "presentation": {
                // 控制是否显示运行此任务的面板。默认值为 "always":
                // - always:    总是在此任务执行时显示终端。
                // - never:     不要在此任务执行时显示终端。
                // - silent:    仅在任务没有关联问题匹配程序且在执行时发生错误时显示终端
                "reveal": "silent",
                // 控制面板是否获取焦点。默认值为 "false":
                "focus": false,
                // 控制是否将执行的命令显示到面板中。默认值为“true”:
                "echo": false,
                // 控制是否在任务间共享面板。同一个任务使用相同面板还是每次运行时新创建一个面板:
                // - shared:     终端被共享,其他任务运行的输出被添加到同一个终端。
                // - dedicated:  执行同一个任务,则使用同一个终端,执行不同任务,则使用不同终端。
                // - new:        任务的每次执行都使用一个新的终端。
                "panel": "dedicated"
            },
            // 使用问题匹配器处理任务输出:
            "problemMatcher": {
                // 代码内问题的所有者为 cpp 语言服务。
                "owner": "cpp",
                // 定义应如何解释问题面板中报告的文件名
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}"
                ],
                // 在输出中匹配问题的实际模式。
                "pattern": {
                    // The regular expression.
                    "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
                    // 第一个匹配组匹配文件的相对文件名:
                    "file": 1,
                    // 第二个匹配组匹配问题出现的行:
                    "line": 2,
                    // 第三个匹配组匹配问题出现的列:
                    "column": 3,
                    // 第四个匹配组匹配问题的严重性,如果忽略,所有问题都被捕获为错误:
                    "severity": 4,
                    // 第五个匹配组匹配消息:
                    "message": 5
                }
            }
        }]
    }
    

    4.4重启VS Code将文件夹选择为放置c语言程序的目录,并在目录下编写测试文件test.c并运行

    #include<stdio.h>
    int main()
    {
        printf("hello world!!
    ");
        return 0;
    }
    

  • 相关阅读:
    跟着太白老师学python 10day 函数的动态参数 *args, **kwargs, 形参的位置顺序
    IO 流之字符流的缓冲区
    Java IO异常处理方式
    Java IO 流
    Java 其他对象的 API
    Java 集合框架之 JDK 1.5 新特性
    Java 集合框架工具类
    Java 集合框架之 Map
    Java 集合框架查阅技巧
    Java 集合框架之泛型
  • 原文地址:https://www.cnblogs.com/2393920029-qq/p/14508861.html
Copyright © 2011-2022 走看看