简介
MinGW 与 Visual Studio Code (VSCode) 的搭配在 C 和 C++ 开发者中是比较常见的,主要因为它们共同提供了一个轻量级、高效且功能丰富的开发环境,特别是对于那些偏好使用 GNU 工具链进行 Windows 下的原生 C/C++ 开发的人来说
本地搭建
1.安装C/C++插件
打开VSCode搜索C/C++
扩展并将其安装
2.配置json文件
随便新建一个文件夹并将其拖入VSCode中,然后在此文件夹创建一个名为.vscode
的目录
在.vscode
目录创建两个文件,分别是tasks.json
和launch.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
文件用于配置调试器,包括调试器的类型、调试程序的路径等等,比如选择gdb
活lldb
作为调试器,其内容如下所示:
{
"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)
并点击
将配置名称修改为GCC
,编译器路径改为g++.exe
的路径(如果是C代码那就改为gcc.exe
的路径)
intelliSense
模式修改为gcc-x64
随后会在.vscode
目录生成一个c_cpp_properties.json
文件,此文件用于配置C/C++插件的属性,告诉 VSCode 如何正确地为你的项目提供智能感知(代码补全、代码导航等功能)
3.测试项目
创建一个cpp目录用于存放源码文件,此处我创建了个test.cpp
,内容如下所示,由于VSCode运行完控制台程序后会迅速关闭,因此加个pause
指令来充当断点
#include <stdio.h>
#include <Windows.h>
using namespace std;
int main(){
printf("HelloWorld");
system("pause");
return 0;
}
点击右上角的三角符号进行运行和调试(或者按快捷键F5)
按快捷键ctrl+shift+B
编译项目
远程环境
1.安装远程扩展
若要在Linux环境配置MinGW,首先需要安装一个扩展:Remote Development
2.连接远程系统
扩展安装完成后,打开远程资源管理器,选择WSL或远程Linux作为编译系统,此处我选择WSL
我提前在WSL的linux上准备好了C++项目
3.配置编译环境
点击右下角的Linux图标,然后点击编译环境(UI)
环境配置按照下图修改即可
上述配置完成后,会在.vscode
目录生成tasks.json
和c_cpp_properties.json
文件,后续编译的操作和之前本地搭建的一样