VSCode配置MinGW

简介

MinGW 与 Visual Studio Code (VSCode) 的搭配在 C 和 C++ 开发者中是比较常见的,主要因为它们共同提供了一个轻量级、高效且功能丰富的开发环境,特别是对于那些偏好使用 GNU 工具链进行 Windows 下的原生 C/C++ 开发的人来说

本地搭建

1.安装C/C++插件

打开VSCode搜索C/C++扩展并将其安装

2.配置json文件

随便新建一个文件夹并将其拖入VSCode中,然后在此文件夹创建一个名为.vscode的目录

.vscode目录创建两个文件,分别是tasks.jsonlaunch.json

tasks.json文件用于配置构建任务,定义了如何编译项目,比如使用gcc或者g++来编译C或者C++代码,其内容如下所示:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build C++ project",
            "type": "shell",
            "command": "E:\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["relative", "${workspaceFolder}"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },

    ]
}

launch.json文件用于配置调试器,包括调试器的类型、调试程序的路径等等,比如选择gdblldb作为调试器,其内容如下所示:

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

Ctrl+Shift+P呼出命令面板,搜索C/C++:编辑面板(UI)并点击

image-20240221112453990

将配置名称修改为GCC,编译器路径改为g++.exe的路径(如果是C代码那就改为gcc.exe的路径)

image-20240221115008865

intelliSense模式修改为gcc-x64

image-20240221115014508

随后会在.vscode目录生成一个c_cpp_properties.json文件,此文件用于配置C/C++插件的属性,告诉 VSCode 如何正确地为你的项目提供智能感知(代码补全、代码导航等功能)

image-20240221115157253

3.测试项目

创建一个cpp目录用于存放源码文件,此处我创建了个test.cpp,内容如下所示,由于VSCode运行完控制台程序后会迅速关闭,因此加个pause指令来充当断点

#include <stdio.h>
#include <Windows.h>

using namespace std;
int main(){
    printf("HelloWorld");
    system("pause");
    return 0;
}
image-20240221003109298

点击右上角的三角符号进行运行和调试(或者按快捷键F5)

image-20240221003512234

按快捷键ctrl+shift+B编译项目

image-20240221004011451

远程环境

1.安装远程扩展

若要在Linux环境配置MinGW,首先需要安装一个扩展:Remote Development

image-20240222162325198

2.连接远程系统

扩展安装完成后,打开远程资源管理器,选择WSL或远程Linux作为编译系统,此处我选择WSL

image-20240222162532035

我提前在WSL的linux上准备好了C++项目

image-20240222164757828

3.配置编译环境

点击右下角的Linux图标,然后点击编译环境(UI)

image-20240222165014696

环境配置按照下图修改即可

image-20240222165158050
image-20240222165220370

上述配置完成后,会在.vscode目录生成tasks.jsonc_cpp_properties.json文件,后续编译的操作和之前本地搭建的一样

image-20240222170406474

最后更新于