1、配置MinGW的系统环境变量
将Dev-Cpp/MinGW64/bin添加进系统环境。方法为“计算机右键-》属性-》高级系统设置-》环境变量-》系统变量-》Path-》添加相应路径”
2、下载安装VSCode,安装C/C++插件
3、配置VSCode
首先在VSCode中打开一个文件夹(工作区),后续配置将只在本文件夹(工作区)内有效。其他文件夹(工作区)可参照以下步骤再配置一次。在文件夹下创建一个测试C/C++文件,如HelloWorld.Cpp:
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
printf("hello world\n");
system("pause");
return 0;
}
4、配置launch.json文件
进入调试界面选择C++(GDB):
然后会在工作目录下生成.vscode文件夹,这个文件夹就是工作区的配置文件夹。
文件夹中自动生成了launch.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}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"environment": [],
"externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "D:\\Dev-Cpp\\MinGW64\\bin\\gdb.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
生成tasks.json文件
这个 task.json 的作用就是, 在通过 launch,json 里的配置运行之前, 先根据我们自定义的命令去运行一个任务
在这里通常这个任务是编译, 也就是把我们的 .cpp 变成 .exe, 这样 launch.json 才可以用 .exe 去执行
- 打开命令面板(Ctrl + Shift + P)。
- 选择Tasks:Configure Tasks ...命令
- 单击从模板创建tasks.json文件
- 您将看到任务运行模板列表,选择Others
- 将文件内容修改如下:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "g++",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileBasenameNoExtension}.exe"//没有后缀
],
}
]
}
- 此操作跟在命令行输入-g hello.cpp -o hello.exe的作用一样
- Task 完成了之后, 就开始 launch.json 的运行了
- 会根据 launch.json 里的 miDebuggerPath 配置的 编译器路径去运行上刚生成的 exe 文件
配置c_cpp_properties.json文件
- 应该是配置 cpp 文件编译时的全局配置吧, 也好像是提供智能感知的配置
- 通过快捷方式Ctrl+Shift+P运行C/CPP: Edit configuration ...命令添加缺少的信息并生成c_cpp_properties.json文件。
- 配置如下:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++",
"D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++\tr1",
"D:\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.9.2\\include\\c++\\x86_64-w64-mingw32"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "D:\\Dev-Cpp\\MinGW64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
- "compilerPath": "D:/Dev-Cpp/MinGW64/bin/gcc.exe",添加这一条,设置gcc.exe的路径(根据自己实际gcc.exe路径添加)。
- 直观的效果就是引用头文件出现的绿色波浪线没了。
F5成功编译
若是上述操作失败可以重新新建另一个文件夹来尝试或者删掉.vscode文件夹再来过。
注意:有时候不能成功运行是上一次没有正常关闭终端,点重新启程调试的按钮,会因为剩余的数据未被读取而造成错误
比如这样的错误信息:
所在位置 行:1 字符: 2
+ 5& 'c:\Users\tangm\.vscode\extensions\ms-vscode.cpptools-0.24.1\debug ...
+ ~
表达式或语句中包含意外的标记“&”。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
此时关闭后台程序,再重新点一下启动就可以了