VSCode C++开发launch.json和tasks.json配置模板

本文详细介绍了如何配置Visual Studio Code(VSCode)用于C++程序的调试,重点讲解了launch.json和tasks.json文件的设置。在launch.json中,关键配置是program字段,它指定可执行文件的路径,以及preLaunchTask字段,它指定了编译任务。tasks.json文件包含了构建过程,包括cmake和make任务,预设的Build任务依赖于这两个任务以确保源代码在调试前被正确编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

launch.json

  • launch.json只需要修改一处,即"program": "${workspaceFolder}/<executable path>"中的<executable path>需要改写的实际可执行二进制文件的路径(包含文件名),前面的${workspaceFolder}不需要改动。
  • 注意,launch.json要和tasks.json,所以launch.json文件中的"preLaunchTask": "Build"要和tasks.json中的"label": "Build"相匹配。
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/<executable path>", // 这一行的配置项非常重要
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "internalConsoleOptions": "neverOpen",
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build", // 这一步也配置同样很重要,这一步工作负责源代码的编译
        }
    ]
}

tasks.json

下面的文件配置不需要做任何改动,直接复制粘贴即可使用

{   
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build" # "cwd"表示当前工作目录:current working directory;workspaceFolder表示工作空间文件夹
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake", // 该任务的标签是:"cmake"
            "command": "cmake", // cmake任务生成makefile文件
            "args": [ // cmake命令后所跟的参数,".."表示在父目录
                ".."
            ]
        },
        {
            "label": "make", // 该任务的标签是:"label",根据makefile文件进行编译
            "group": {
                "kind": "build", // 当前任务所属的组是build组
                "isDefault": true 
            },
            "command": "make", // 在Windows下实际执行的命令是:mingw32-make
            "args": [ // mingw32-make命令后面所跟的参数
            ]
        },
        {
            "label": "Build", //这个名为"Build"的task是launch.json执行前所预先执行的任务
            "dependsOn":[ // 并且这个任务又依赖"cmake""make"这两个任务
                "cmake",
                "make"
            ]
        }
    ]
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值