VSCode的C++环境配置,多cpp在同一文件夹(json方式)

插件安装、json编写参考此博客。

略有更改,以支持多个cpp在同一个文件夹中的情况。

主要是tasks.json的args设置,launch.json的program路径设置。

launch.json内容,执行程序用

复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",            
            "program": "${fileDirname}/${fileBasenameNoExtension}.out", //要生成的可执行程序
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],            
            "externalConsole": true, //允许打开终端
            "MIMode": "gdb",
            "preLaunchTask": "build", //在启动之前,先执行tasks.json(编译、链接)
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
复制代码

tasks.json内容,编译、链接用

复制代码
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build", //与launch.json中"preLaunchTask": "build",一致
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${fileDirname}/**cpp", //单个、多个cpp文件都可以
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.out", //与launch.json的"program"对应
                "-std=c++17" //c++版本
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        //"panel": "shared",
        //"showReuseMessage": true,
        //"clear": false
    }
}
复制代码

 

posted @   夕西行  阅读(886)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示