Visual Studio Code是微软旗下的一个跨平台的IDE。相比于传统臃肿庞大的Visual Studio,VSCode是轻量级的工具,既可以使用插件拓展,又可以添加自定义的编译、调试配置。下面介绍如何将 VSCode 配置为一个 C/C++ 的 IDE
首先,你需要在 Windows 上安装 C/C++ 编译器(gcc/g++)和调试器(gdb),在这里下载最新版本三个组件,按照图示选择版本。
下载完成后解压文件夹到你想要的位置,我这里用的是 C:\Program Files\ 。接下来在环境变量(控制面板\所有控制面板项\系统 -> 高级系统设置 ->环境变量 -> 选择”Path”单击”编辑”)中加入工具链所在的目录,如图
为了测试刚才的操作是否成功,按下 Win+R 输入 cmd 打开命令行,分别执行 gcc --version, g++ --version和gdb --version 三个命令。如果没有提示找不到程序并出现与下图类似的结果,那么编译环境算是配置好了
接着说一下 VSCode 的配置,VSCode 可以在官网下载,双击安装之后稍等片刻就可以启动了。进入VSCode之后在左侧选择扩展,搜索C/C++安装插件(当然如果不习惯英文版的话可以装个汉化插件,直接搜Chinese安装就有了)
接着我们来建一个 C/C++ 项目。新建一个目录(比如说我这里叫 HelloWorld ),在目录下新建一个.c文件(比如说我这里是helloworld.c)。用 VSCode 打开这个文件夹
新建一个配置

在弹出来的 launch.json 文件中用以下配置覆盖。若在刚才没有进行添加环境变量的操作,则将两处 “gdb.exe” 改为你解压的 MinGW 中 gdb 的完整路径。
{// 使用 IntelliSense 了解相关属性。// 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "C++ Debug(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg", // 配置类型,这里只能为cppdbg"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录"environment": [],"externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台"internalConsoleOptions":"neverOpen","MIMode": "gdb","miDebuggerPath": "gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应"preLaunchTask": "g++_compile", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]},{"name": "C Debug(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg", // 配置类型,这里只能为cppdbg"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录"environment": [],"externalConsole": false, // 调试时是否显示控制台窗口,一般设置为true显示控制台"internalConsoleOptions":"neverOpen","MIMode": "gdb","miDebuggerPath": "gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应"preLaunchTask": "gcc_compile", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}
接下来在菜单栏上选择“终端”->“配置默认生成任务” ( Terminal -> Configure Default Build Task),一路选择第一个选项,然后再弹出来的 tasks.json 里面用以下配置覆盖
{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "g++_compile","command": "g++","args": ["-g","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"],"problemMatcher": {"owner": "cpp","fileLocation": ["relative", "${workspaceRoot}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}},{"label": "gcc_compile","command": "gcc","args": ["-g","${file}","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"],"problemMatcher": {"owner": "c","fileLocation": ["relative", "${workspaceRoot}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}}]}
如果你使用的是旧版 VSCode 或者使用上述配置依然出现编译错误,那么你可能需要再添加一个 c_cpp_properties.json 文件,内容如下(其中 includePath 下面几行需要改为你的MinGW路径,即替换 “C:/Program Files/mingw64” 为你解压出MinGW的路径)
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:/Program Files/mingw64/x86_64-w64-mingw32/include","C:/Program Files/mingw64/include","C:/Program Files/mingw64/opt/include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"intelliSenseMode": "gcc-x64"}],"version": 4}
保存该文件并复制到你的项目目录下的 .vscode 文件夹内即可
按下F5或者在那只小虫里面点运行与调试(绿色的小三角按钮),接着你就可以像任何其他的IDE那样,编辑、调试你的程序啦!
你还可以在行号左侧单击,打下断点,观察程序的运行状态。在“监视”一栏中还可以添加表达式
本文涉及的 MinGW 的64位安装包与项目模板:
链接: https://pan.baidu.com/s/1UsBPksTneB4n0xoTvIF5JQ 提取码: w788
参考:
