【VSCode】Windows下VSCode编译调试c/c++【更新】

VSCode C/C++配置
本文详细介绍如何在Windows环境下使用VSCode配置C/C++的编译及调试环境,包括安装VSCode、cpptools插件及MinGW,配置launch.json和tasks.json文件。

————————– 2017.06.10 更新————————-

便携版已更新,点此获取便携版
用于cpptools插件的配置文件更新

更新的launch.json

// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team        
// ${file}: the current opened file                     
// ${fileBasename}: the current opened file's basename 
// ${fileDirname}: the current opened file's dirname    
// ${fileExtname}: the current opened file's extension  
// ${cwd}: the current working directory of the spawned process
{
    "version": "0.2.0",
    "configurations": [{
        "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
        "type": "cppdbg", // 配置类型,这里只能为cppdbg
        "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
        "targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
        "program": "${file}.exe", // 将要进行调试的程序的路径

        "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应

        "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
        "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
        "cwd": "${fileDirname}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
        "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
        "preLaunchTask": "g++"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
    }]
}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

更新的tasks.json

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.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
        }
    }
}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

懒得自己配置或自己配置出现不明问题的朋友可以点这里:
【VSCode】Windows下VSCode便携式c/c++环境
http://blog.youkuaiyun.com/c_duoduo/article/details/52083494
下载解压即可食用。

————————– 以下是原文 ————————-

这篇文章为blackkitty记录在windows下使用vscode编译调试c/c++的详细过程

首先看效果
设置断点,变量监视,调用堆栈的查看
设置断点,变量监视,调用堆栈的查看

条件断点的使用:
条件断点的使用

下面是配置过程:

总体流程:

  1. 下载安装vscode
  2. 安装cpptools插件
  3. 安装编译、调试环境
  4. 修改vscode调试配置文件
  5. 完了

下载安装vscode
https://code.visualstudio.com/Download
这里写图片描述
点击下载自己喜欢的相应版本,绿色版解压即可食用

安装cpptools插件
打开vscode,按ctrl+e打开快速命令框,输入以下命令后等待

ext install cpptools

vscode在短暂的联网查找后会列出插件列表,如图:
这里写图片描述
点击箭头所指处的按钮安装插件,安装过程可能会有些慢耐心等待
安装完成后vscode会提示你重启vscode,此时重启即可

安装编译、调试环境

目前windows下调试仅支持 Cygwin 和 MinGW。
这里使用的是MinGW.
下面是MinGW的安装配置过程:
http://mingw.org/
进入官网点击右侧 Download Installer下载安装器
打开安装器点击install准备安装:
这里写图片描述

选择一个安装目录,默认为C:\MinGW这里选择的是A:\MinGW
点击Continue开始安装,安装过程需联网,若安装时提示error则需翻墙安装
安装过程很快,结束后Continue按钮恢复为可用状态,点击完成安装。

这里写图片描述
打开MinGW安装管理器进行进一步配置

这里写图片描述

注意这里gdb必选,否则无法调试
这里写图片描述
选中几个需要的项右键Make for Installation进行标记,其中gcc和g++为c和c++编译器
选择完全部想要安装的项后点击左上角Installation菜单下的Apply Changes应用修改,过程需联网,中间出现error可先继续,若最后失败则需翻墙更新,建议翻墙

然后配置系统环境变量path,这一步为必须
在 我的电脑 上右键 属性:
然后按照下面步骤做即可,注意最后新建的项要与之前MinGW安装位置相对应
这里写图片描述

修改vscode调试配置文件
再次打开vscode,注意配置系统环境变量path后重启一下vscode
注意vscode调试需要在打开的文件夹中进行

打开文件夹后,新建test.cpp进行输入代码测试:
这里写图片描述

如图示进入调试界面选择C++:
这里写图片描述
这里写图片描述

然后会在工作目录下的生成一个launch.json的启动配置文件:
这里写图片描述

使用下面代码替换该文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",                           // 配置类型,这里只能为cppdbg
            "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
            "launchOptionType": "Local",                // 调试器启动类型,这里只能为Local
            "targetArchitecture": "x86",                // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 将要进行调试的程序的路径
            "miDebuggerPath":"a:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
            "args": ["blackkitty",  "1221", "# #"],     // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,                       // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}",                  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "externalConsole": true,                    // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "preLaunchTask": "g++"                    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
        }
    ]
}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注意miDebuggerPath要与MinGw的路径对应
替换后保存,然后切换至test.cpp,按F5进行调试,此时会弹出一个信息框要求你配置任务运行程序,点击它~
这里写图片描述
在这里随便选一个:

这里写图片描述

然后用下面代码替换:

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.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
        }
    }
}
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

保存一下,然后切换至test.cpp,再次按F5启动调试~
这里写图片描述

完了!

<think>嗯,用户想在Windows上配置VSCode编译调试C/C++程序。首先,我需要回忆一下配置的基本步骤。安装VSCode是第一步,然后可能需要安装C/C++扩展,比如Microsoft的那个扩展。然后,用户需要安装编译器,比如MinGW或者MSVC。MinGW在Windows上比较常用,所以可能需要指导用户如何安装和配置MinGW的环境变量。 接下来,配置tasks.json和launch.json文件。这两个文件分别用于编译调试任务。记得tasks.json里要指定编译器路径和参数,比如g++的命令,生成可执行文件。launch.json则要设置调试器路径,比如gdb,并指定program参数指向生成的可执行文件。 可能还需要检查环境变量是否正确设置,尤其是PATH是否包含MinGW的bin目录。用户可能会遇到环境变量未设置的问题,导致编译命令找不到。另外,可能需要指导用户如何通过终端验证g++和gdb是否可用。 用户提供的引用中有提到MinGW和WinCE的编译选项,但可能和当前问题关联不大。不过引用3提到设置环境变量,这很重要,特别是在每次打开终端时需要设置。所以可能需要提醒用户设置环境变量,或者将其添加到系统变量中,避免每次重启终端都要重新设置。 另外,用户的问题是关于配置VSCode,可能需要涉及到配置c_cpp_properties.json文件,指定包含路径和编译器路径,确保IntelliSense正常工作。这部分可能也需要涵盖进去。 最后,生成相关问题时,需要考虑用户可能的后续疑问,比如如何处理多个源文件,如何配置不同的构建工具如CMake,或者如何调试更复杂的项目。此外,可能的问题还包括常见错误排查,比如找不到头文件或者链接错误,以及如何优化编译设置等。</think>### 如何在Windows上配置VSCode进行C/C++编译调试 #### 1. **安装必要工具** - **VSCode**: 从[官网](https://code.visualstudio.com/)下载安装。 - **C/C++扩展**:VSCode扩展商店搜索安装`C/C++`(Microsoft官方扩展)。 - **编译器**: 安装MinGW(推荐)或MSVC: - MinGW安装步骤: 1. 下载[MinGW-w64](https://www.mingw-w64.org/)(选择`x86_64-posix-seh`版本)。 2. 解压后将其`bin`目录(例如`C:\mingw64\bin`)添加到系统环境变量`PATH`中[^3]。 3. 验证:终端输入`g++ --version`,显示版本信息即成功。 #### 2. **配置编译任务** 1. 创建或打开C/C++项目文件夹。 2. 按`Ctrl+Shift+P`,输入`Tasks: Configure Task`,选择`Create tasks.json`。 3. 替换内容为: ```json { "version": "2.0.0", "tasks": [{ "label": "Build C++", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"], "group": {"kind": "build", "isDefault": true} }] } ``` 此配置使用`g++`编译当前文件并生成调试信息(`-g`选项)。 #### 3. **配置调试环境** 1. 切换到调试选项卡,点击`create a launch.json file`。 2. 选择`C++ (GDB/LLDB)`,替换内容为: ```json { "version": "0.2.0", "configurations": [{ "name": "C++ Debug", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "gdb.exe", "setupCommands": [{"description": "启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}], "preLaunchTask": "Build C++" }] } ``` 此配置将自动关联编译任务,并通过`gdb`调试生成的可执行文件。 #### 4. **验证配置** 1. 编写测试代码(例如`main.cpp`): ```cpp #include <iostream> using namespace std; int main() { cout << "Hello VSCode C++!" << endl; return 0; } ``` 2. 按`F5`启动调试,终端输出结果即表示配置成功。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值