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

2018年7月20日 2 条评论 447 次阅读 2 人点赞

写在前面

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

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

 

下载安装 VS Code

直接进入官网点击 Download 下载即可:https://code.visualstudio.com/。本文编写时,最新版安装包是“VSCodeSetup-x64-1.25.0.exe”。

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

 

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

 

安装编译器(MinGW-w64)

如果你的电脑中安装过诸如 Dev C++、Code::Blocks 等编译器的话,可以跳过这一段,直接从“安装插件和配置环境”往下操作。

如果没有,那么你需要先安装编译器,建议使用 MinGW-w64。注意,MinGW-w64 和 MinGW 是两个独立的项目,请勿混淆,本文中使用的是前者,也就是带“w64”的那个。下载地址:https://sourceforge.net/projects/mingw-w64/

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

 

安装位置任意选择,随后会开始下载安装。如果遇到网络问题请自行解决,或是使用下面的备用链接:

文件名:x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 版本:8.1.0 上传日期:2018-7-9。
直接提取于 MinGW-w64 在线下载的原始文件,未作修改。

 

2. 添加环境变量。

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

添加环境变量的步骤(点击放大)

 

添加完环境变量后最好检查一下是否添加正确。运行 cmd,分别执行 “gcc”“g++”“gdb”几个 命令,如果结果类似下图则说明添加成功。如果没有出现下图结果,请重启试试,并检查上面的路径是否输入正确。

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

 

安装插件和配置环境

1. 打开 VS Code,点击左边栏的【扩展】按钮,安装“C/C++”插件。这个插件来自 Microsoft 官方,可以放心安装。

 

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

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

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

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

 

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

 

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

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Run & Debug",  // 配置名称
      "type": "cppdbg",  // 配置类型,必须填cppdbg
      "request": "launch",  // 请求配置类型
      "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",  // 要调试的文件名
      "args": [],  // 调试参数
      "stopAtEntry": false,  // 在入口处暂停
      "cwd": "${workspaceRoot}",  // 工作目录
      "environment": [],
      "externalConsole": true,  // 是否显示控制台窗口
      "MIMode": "gdb",  //调试模式
      "miDebuggerPath": "D:\\MinGW64\\bin\\gdb.exe",  // GDB路径
      "preLaunchTask": "g++",  // 调试之前要执行的任务
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

 

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

 

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

{
  "version": "0.1.0",
  "command": "g++",
  "args": [
    "-std=c++11",  //支持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
    }
  }
}

 

编译、运行并调试

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

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

 

Jed

一名狂热的技术爱好者。

文章评论(2)

  • 异星软件空间

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

    2018年7月23日
    • Jed

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

      2018年7月23日
  • 提示:有人回复时会邮件通知您