VScode安装及C语言环境配置

本文详细指导了如何在VScode中安装编译环境mingw-w64,汉化界面,配置C/C++和CodeRunner扩展,解决乱码问题,并配置launch.json和tasks.json。适合初学者快速上手C语言开发。
摘要由CSDN通过智能技术生成

VScode安装及C语言环境配置

1.安装VScode

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

2.安装编译环境mingw-w64

下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download

然后点击.exe程序,安装

image-20201216223553764

这里介绍一下几个选项,然后大家看自己情况选择:

  • 选择 gcc 版本
    说明:Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。

    操作:在这个版本中,最高版本是 6.2.0 ,选中它即可。

  • 选择电脑系统架构

    说明:Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。

    操作:我的电脑系统是 64位 的,所以我选择了 x86_64,如果你是 32位 系统,则选择 i686 即可。

  • 选择操作系统接口协议

    说明:这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。

    操作:我只开发在 Windows 下运行的程序,所以选择了 win32 。

  • 选择异常处理模型(64位)
    说明:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。

    操作:我这里选择了 seh 。

接着下一步,选择自己安装目录即可

image-20201216223751301

接下来配置环境变量,以WIN10为例子,此电脑-属性-高级系统设置-环境变量

image-20201216215222461

然后选择系统变量的的Path,点击编辑,然后选择新建

image-20201216215426750

讲MinGW-w64的可执行程序安装目录bin,添加到环境变量Path中,右键点击bin,然后选择将地址复制成文本

image-20201216224516697

然后点击新建变量,ctrl+v粘贴即可

image-20201216224700163

最后,按下win+R ,调出命令行窗口

image-20201216224827897

输入gcc -v 查看信息,出现如下界面即安装成功

image-20201216225216132

3.汉化

打开VScode ,点击右边侧栏的插件

image-20201216221622679

然后输入框搜索Chinese Language ,点击安装,然后点击右下角的Restart Now,重启即可

为防止中文乱码情况,右键单击左下角齿轮,选择设置,搜索Files.autoGuessEncoding,然后勾选即可

image-20201216222229885

image-20201216222322497

4.安装C/C++ 和Code Runner扩展

同样在扩展商店搜索C,然后选择这个进行安装

image-20201216225501298

然后安装 code runner

image-20201216232241214

5.配置

创建一个存放代码的文件夹,然后菜单栏选择文件->打开文件夹,选择先前创好的文件

image-20201216232654375

然后点击新建一个.c文件

image-20201216233027416

image-20201216233531064

image-20201216233609241

按F5调试,选择第一个C++(GDB/LLDB)

image-20201216234114862

然后会自动生成一个launch.json的启动配置文件:,我们要对其做一些修改

image-20201216234322832

launch.json修改后配置如下,只要把下面的minDebuggerPath改为自己的路径即可

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",       // 配置名称,将会在启动配置的下拉菜单中显示
        "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",
            "preLaunchTask": "gcc",     //增加的,调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc 
            "miDebuggerPath": "D:\\variables\\mingw-w64\\mingw64\\bin\\gdb",    //改为你自己安装的mingw的路路径
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

然后回到代码界面,按F5,会出现以下提示,我们选择配置任务,然后选择创建tasks.json模板文件

image-20201217085230254

image-20201217085321459

选择Others 运行任意外部命令

image-20201217085412993

然后会出现tasks.json,这里对一些配置需要修改

image-20201217085546436

配置如下:

{
    // 有关 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
            }
        }
    }]
}

接着重启,然后运行,会报错误,然后会提醒你跳转到该文件c_cpp_properties.json进行配置

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "D:/variables/mingw-w64/mingw64/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}",
                   "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
                "D:/variables/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "D:/variables/mingw-w64/mingw64/include"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""

            }
        }
    ],
    "version": 4
}

image-20201217094418188

5.对于乱码问题

参考博客:https://blog.amahv.cn/2020/06/24/vscode-shu-chu-chuang-kou-zhong-wen-luan-ma/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值