01 前言

Vscode是什么?

VSCode(Visual Studio Code)是微软于2015年发布的一款开源免费的代码编辑器。许多人认为VSCode是一个IDE,这么说其实是不准确的。IDE(Integrated Development Environment,集成开发环境)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。常见的IDE有Code::Blocks,Visual Studio,IDEA等。单独的VSCode只能说是一个代码编辑器,但是我们可以借助若干丰富插件实现编译器、调试器等的功能,从这个角度看,VSCode也算是一个IDE。

02 软件准备

官网下载 Vscode软件
安装步骤如下图:


这里不用理会,直接点击下一步即可


这里记得在最后一项打上勾!


  • Vscode的界面是英文的,我们需要汉化,下载汉化的扩展即可
    步骤:扩展 -> 在搜索框输入 Chinese -> 选择插件Chinese (Simplified) Language Pack for Visual Studio Code,点击install安装插件 -> 重启Vscode

如图:


03 下载MinGW 配置环境变量

Ps:由于这个网站得开代理,不然会很慢,在这里给出我已经下载好的64位系统的安装包

网站如图:

安装的位置随意,不过要特别注意一点,就是安装路径中不能带有中文和空格,也就是文件命名时,不能出现中文和空格


  • 配置环境变量:
    步骤:右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 找到 path -> 双击进入编辑 -> 把MinGW目录下的bin目录的路径 保存进去(比如我的D:\Vscode\MinGW\MinGW\bin)
  • 验证MinGw的环境变量是否配置成功
    步骤:按下Win+R -> 输入cmd -> 打开命令行之后,输入 gcc -v -> 看到如下图的显示,即为配置成功


04 编写Vscode的配置文件

打开Vscode,新建一个文件夹,命名为Vscode,然后再新建一个.vscode的隐藏文件,然后在该文件夹下新建三个文件,分别为launch.jsontasks.jsonsetting.json

如图:

  • 分别把以下代码复制进去即可
  • launch.json -> 该文件负责配置Vscode

注意:"miDebuggerPath" 后面的路径必须得与MinGw下的gdb.exe路径对应,改为你的路径即可

{
    "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:\\Vscode\\MinGW\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  • tasks.json -> 该文件告诉Vscode如何构建(编译)程序
{
    // 有关 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
                }
            }
        }
    ]
}
  • setting.json
{
    "files.associations": {
        "tidl_alg_int.h": "c",
        "limits": "c"
    }
}

05 运行程序

新建一个文件,命名为Hello.c,把以下C语言代码复制进去,按F5运行

#include <stdio.h>
int main()
{
    printf("Hello,World!\n");
    return 0;
}

注意:此时会发现有一个黑框一闪而过,然后终端显示“终端将被任务重用,按任意键关闭”,说明你的配置是没问题的,程序已经正常运行了!之所以会一闪而过,没有停留,是因为Vscode不会自己在程序末尾停止,和IDE不一样。

那么有什么办法可以让它不一闪而过,可以停留呢?办法当然是有的!

有三种办法

  • 在最后加一行加上断点
  • 在最后加一行加上getchar()
  • 在最后一行加上system("pause");
  • 看个人喜好了,我习惯在末尾加上一行system("pause");代码,程序就会在最后停住了

如图:



闲谈

要想让Vscode成功的运行一个程序,是需要为这个文件夹做单独配置,也就是配置一个完整的.vscode文件,所以建议把.vscode文件夹放到你常用的文件夹的顶层,这样就不用重复配置了,这些配置在你配置好的文件夹内的所有子文件夹和文件都能使用。

如果新建了另一个文件夹存放c语言代码,只需把.vscode文件复制一份,粘贴到该文件夹中即可


当然Vscode还是有很多好用的插件,而且还可以设置背景,可以给你的界面配上一幅美美的背景图哦!关注我,我来告诉你,嘿嘿!个人博客:https://www.cyz4531.top

Last modification:July 10th, 2020 at 12:45 pm
哥哥姐姐们,如果觉得我的文章对你有用,请随意赞赏