VS code配置C++编译环境(详细介绍配置调试信息)

此篇文章的配置可以调试工作区中子文件夹中的cpp文件

  1. 在工作区下建立 .vscode文件夹
  2. 在该文件夹下建立 launch.json文件
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "c++调试",    // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg",         // 配置类型,这里只能为cppdbg
                "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
                "args": [],                // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false,     // 设为true时程序将暂停在程序入口处,一般设置为false
                "cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
                "environment": [],
                "externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\XXXX\\bin\\gdb.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
                "preLaunchTask": "g++",    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    

     

  3. 在该文件下建立tasks.json文件

    {
        "version": "2.0.0",
        "tasks": [{
                "label": "g++",
                "command": "g++",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${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
                    }
                },
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }

    在配置文件中使用到的一些常用的预定义变量
    支持下面的预定义变量:

    ${workspaceFolder} - 当前工作目录(根目录)
    ${workspaceFolderBasename} - 当前文件的父目录
    ${file} - 当前打开的文件名(完整路径)
    ${relativeFile} - 当前根目录到当前打开文件的相对路径(包括文件名)
    ${relativeFileDirname} - 当前根目录到当前打开文件的相对路径(不包括文件名)
    ${fileBasename} - 当前打开的文件名(包括扩展名)
    ${fileBasenameNoExtension} - 当前打开的文件名(不包括扩展名)
    ${fileDirname} - 当前打开文件的目录
    ${fileExtname} - 当前打开文件的扩展名
    ${cwd} - 启动时task工作的目录
    ${lineNumber} - 当前激活文件所选行
    ${selectedText} - 当前激活文件中所选择的文本
    ${execPath} - vscode执行文件所在的目录
    ${defaultBuildTask} - 默认编译任务(build task)的名字

     预定义变量示例:

    假设你满足以下的条件

    一个文件 /home/your-username/your-project/folder/file.ext 在你的编辑器中打开;
    一个目录 /home/your-username/your-project 作为你的根目录.
    

    下面的预定义变量则代表:

    ${workspaceFolder} - /home/your-username/your-project
    ${workspaceFolderBasename} - your-project
    ${file} - /home/your-username/your-project/folder/file.ext
    ${relativeFile} - folder/file.ext
    ${relativeFileDirname} - folder
    ${fileBasename} - file.ext
    ${fileBasenameNoExtension} - file
    ${fileDirname} - /home/your-username/your-project/folder
    ${fileExtname} - .ext
    ${lineNumber} - 光标所在行
    ${selectedText} - 编辑器中所选择的文本
    ${execPath} - Code.exe的位置

    详细信息可以去 https://zhuanlan.zhihu.com/p/92175757   查看

  4.  点击调试即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值