如何使用 VS Code 编译、运行并调试 C/C++ 程序

请注意,本文编写于 504 天前,最后修改于 202 天前,其中某些信息可能已经过时。

写在前面

Visual Studio Code (以下简称 VS Code)是微软推出的一款轻量级代码编辑器,它不仅开源、免费,而且能够跨 Windows、Mac 和 Linux 三平台。尽管它体积小巧,我们可以通过安装各种插件的方式来扩展 VS Code 的功能。现在 VS Code 的社区已经比较活跃了,基本上可以想要什么功能就有什么功能。

本文将讲解如何配置 VS Code 使其能够支持 C/C++ 程序的编译、运行和调试(基于 Windows)。

下载安装 VS Code

直接进入官网点击 Download 下载即可:https://code.visualstudio.com/

安装到这一步时建议如下图勾选。这样可以方便将来快速在 VS Code 中打开文件或文件夹。

安装完成后的界面默认是英文的。如果你想切换语言,直接根据提示安装语言扩展包并重启 VS Code 即可。中文语言扩展:Chinese (Simplified) Language Pack for Visual Studio Code

建议使用 MinGW-w64。注意,MinGW-w64 和 MinGW 是两个独立的项目,请勿混淆,本文中使用的是前者,也就是带“w64”的那个。下载地址:https://sourceforge.net/projects/mingw-w64/

1.运行 MinGW-w64 安装程序,在第二步时将 Architecture 改为 x86_64,其它设置保持默认。

安装位置任意选择,随后会开始下载安装。如果遇到网络问题请自行解决。(本站不再提供备用下载)。

2.添加环境变量。

Windows 系统下,右键【此电脑】-【属性】-【高级系统设置】-【环境变量】,在【系统变量】中找到【Path】,选中它然后依次点击【编辑】-【新建】,把 mingw64 目录下的 bin 文件夹添加进去。

添加完环境变量后最好检查一下是否添加正确。运行 cmd,分别执行gccg++gdb几个命令,如果结果类似下图则说明添加成功(请忽略显示的“fatal error”,该错误目前和我们无关)。如果没有出现下图结果,请重启试试,并检查上面的路径是否输入正确。


3.至此编译器已经安装成功。

安装插件和配置环境

1.打开 VS Code,点击左边栏的【扩展】按钮,安装“C/C++”插件。这个插件来自 Microsoft 官方,可以放心安装。这个插件的功能是为 C/C++ 语言提供自动补全、代码格式化等功能。

2.打开一个文件夹,我们将在这个目录内调试 C/C++ 程序。

如果在第一步安装的时候你勾选了“将'通过 Code 打开'操作添加到 Windows 资源管理器文件上下文菜单”这一项的话,你只需要在包含 .cpp 源文件的文件夹内点击右键,然后点击“通过 Code 打开”(英文是"Open with Code")。

也可以通过点击 VS Code 主界面左上角的【文件】-【打开文件夹】来打开一个包含源文件的文件夹。

注:与 Dev C++ 等 IDE 的单文件编译模式不同,VS Code 不能对单一的 .c 或 .cpp 文件进行编译调试,而必须要打开一个文件夹后在此文件夹中进。

3.点击上方菜单栏中【调试】-【启动调试】(快捷键F5),然后选“C++ (GDB/LLDB)”,这时会自动在 .vscode 目录下创建并打开名为 launch.json 的文件。

4.将 launch.json 文件内容替换为下面的配置。然后将第 15 行内容替换为你电脑里 gdb.exe 的绝对路径。注意:路径中出现反斜杠\的位置都要替换为两个反斜杠\\(转义字符)。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Compile with g++",
        }
    ]
}
该配置更新于2019-01-16

5.接下来要配置 “Compile with g++” 任务。点击上方菜单栏【终端】-【配置任务】,选择【使用模板创建 task.json 文件】-【Others】。

然后将 task.json 中的内容替换为以下代码,最后别忘了保存:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile with g++",
            "command": "g++",
            "args": [
                "-std=c++11",
                "-Wall",
                "-g", "${file}",
                "-o", "${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
                }
            }
        }
    ]
}
该配置更新于2019-01-16

编译、运行并调试

至此,配置已经完成,可以开始运行程序了!在 VS Code 中打开 .cpp 源文件,然后按下F5开始调试。也可以点击左下角的“Run & Debug”按钮开始调试。

要想增加断点,在相应的行号之前点击红点即可。添加了断点后,调试过程中可以在左边“调试”栏中看到局部变量、调用堆栈等信息。


参考资料:https://code.visualstudio.com/docs/languages/cpp


Comments

添加新评论

已有 2 条评论

新手必备教程啊,写的很用心! :cool:

Jed Jed 回复 @异星软件空间

欢迎来访,感谢您的支持~