vscode C++配置

2023-11-07

一般配置

在创建了工作区域以后,会有一个.vscode文件夹,里边有launch.json, tasks.json两个文件。

  • launch.json
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb)Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "preLaunchTask": "build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        },
    ]
}
  • tasks.josn
{
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "/usr/bin/g++",
            "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
        }
    ],
    "version": "2.0.0"
}

使用cmake

如果安装了cmake,则需要另外配置一个c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include",
                "/usr/local/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64",
            "configurationProvider": "ms-vscode.cmake-tools"
        }
    ],
    "version": 4
}

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb)Launch",
            "type": "cppdbg",
            "request": "launch",
            // "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "preLaunchTask": "make build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        },
    ]
}

tasks.json

{
    "tasks": [
        {
            "type": "shell",
            "label": "make build",
            // "command": "/usr/bin/g++",
            // "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"],
            "command": "cd ./build ;cmake ../ ;make",//编译命令
            "group": {
                "kind": "build",
                "isDefault": true
            },
        },
        {
            "label": "clean",
            "type": "shell",
            "command": "make clean",     
        }
    ],
    "version": "2.0.0"
}

windows下使用cmake

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${command:cmake.launchTargetPath}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal",
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\mingw\\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "make"
        }
    ]
}

task.json

{
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceRoot}/build"
    },/指定命令执行所在路径
    "tasks": [
        {
            "label": "cmake",
            "type": "shell",
            "command": "cmake",
            "args": [
                "-G",
                "MinGW Makefiles",
                ".."
            ],
        },
        {
            "label": "make",/要执行的第二个make命令
            "type": "shell",
            "command": "mingw32-make",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "dependsOn":["cmake"],///指定,在执行make之前,需先执行cmake
        },
    ]
}

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\mingw\\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\\mingw64\\bin\\g++.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64",
            "configurationProvider": "vector-of-bool.cmake-tools"
        }
    ],
    "version": 4
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode C++配置 的相关文章

  • MSI 和 EXE 安装程序有什么区别,我应该选择哪一个? [复制]

    这个问题在这里已经有答案了 可能的重复 msi 和 setup exe 文件之间有什么具体区别 https stackoverflow com questions 1789530 what are the specific differen
  • 删除字符串 C 的第一个字符

    我试图删除字符串的第一个字符并保留其余部分 我当前的代码无法编译 我对如何修复它感到困惑 My code char newStr char charBuffer int len strlen charBuffer int i 1 char
  • 为什么在 C# 中成员初始值设定项中不允许这样做,但在 VB.Net Me 中允许

    我正在将 VB Net 应用程序转换为 C 并注意到在 VB Net 代码中 有一个私有成员变量 它是使用Me像这样 Private m ClassA As New MyCollection Of ClassA Me 当我将其转换为 C 代
  • 同步执行异步函数

    我对此主题进行了大量搜索 并且阅读了本网站上有关此主题的大部分帖子 但是我仍然感到困惑 我需要一个直接的答案 这是我的情况 我有一个已建立的 Winform 应用程序 但无法使其全部 异步 我现在被迫使用一个全部编写为异步函数的外部库 在我
  • 如何“杀死”Pthread?

    我正在学习 Pthreads 并且想知道杀死这样一个对象的最佳方法是什么 在寻找类似的问题后 我无法找到 明确 的答案 但请随时向我指出任何相关问题 我正在使用一个小型客户端服务器应用程序 其中服务器主线程正在侦听套接字上的客户端连接 每次
  • 如何从 List 中的字符串中删除数字/数字?

    我有一个字符串列表 List
  • 基于 MS Bot Framework 中的响应分支对话框/表单

    我们正在尝试使用 MS Bot Framework 但尚未完全弄清楚如何实现此场景 我们有一个 LUIS 对话框 类型 它工作正常并且经过适当的培训 以常见的三明治为例 LUIS 意图寻找的基本内容是用户询问订单状态 如果问题中提供了订单号
  • 如何在 C++ 中对静态缓冲区执行字符串格式化?

    我正在处理一段对性能要求非常高的代码 我需要执行一些格式化的字符串操作 但我试图避免内存分配 甚至是内部库的内存分配 在过去 我会做类似以下的事情 假设是 C 11 constexpr int BUFFER SIZE 200 char bu
  • 以标准用户身份打开默认浏览器 (C++)

    我目前正在使用 ShellExecute 打开 在用户浏览器中打开 URL 但在 Win7 和 Vista 中遇到了一些麻烦 因为该程序作为服务运行提升 当 ShellExecute 打开浏览器时 它似乎读取 本地管理员 配置文件而不是用户
  • 在不使用 Thread.Sleep c# 的情况下延迟发送电子邮件

    我有一个 for 循环 它循环并每个循环发送一封电子邮件 现在我正在使用 thread sleep 但我希望用户仍然能够与程序交互 只需取消该循环即可 是否可以在不使用 thread sleep 的情况下做到这一点 您是否在 UI 线程上运
  • 为什么C++变量是指针时不需要正确定义?

    我对 C 语言完全陌生 特别是指针 经验主要是 PHP 并且希望对以下内容进行一些解释 我已经尝试寻找答案 这两行代码如何能够在我的程序中完成完全相同的工作 第二行似乎违背了我迄今为止所学到和理解的关于指针的一切 char disk 3 D
  • .Net Core 中的脚手架以及解决方案中的多个项目

    我创建了一个针对 net461 的 Net Core MVC6 应用程序 我使用了一个我非常熟悉的项目结构 其中我将数据 模型和服务类放置在单独的类库项目中 并且 Web 项目引用这些项目 当我尝试搭建控制器时 我收到一条错误 指出我正在搭
  • 无法将方法组“Read”转换为非委托类型“bool”

    我正在尝试使用SqlDataReader检查条目是否存在 如果存在则返回ID 否则返回false 当我尝试编译时 出现错误 无法将方法组 Read 转换为非委托类型 bool 我一直在遵循在 VB 中找到的示例 但似乎翻译可能不正确 pri
  • 使用互斥锁来阻止临界区外部的执行

    我不确定我的术语是否正确 但这里是 我有一个由多个线程使用的函数来写入数据 在注释中使用伪代码来说明我想要的内容 these are initiated in the constructor int data std atomic
  • System.diagnostics.process 进程在托管后无法在 IIS 上运行?

    我正在尝试从网络应用程序安装 exe 当我在本地运行应用程序 从 asp 开发服务器 时 它安装正确 但当我托管在 IIS 上时 它不起作用 我在asp net页面的Page load方法上编写了这段代码 想要在客户端计算机上安装Test
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • 如何将 Metro 应用部署到桌面?

    我正在尝试将我的 C 应用程序部署到我的 Windows 8 Metro 桌面 我可以在 bin 文件夹中看到部署的文件 但是当我尝试打开它们时 出现以下错误 该应用程序只能在 AppContainer 的上下文中运行 我检查了属性上下文菜
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN
  • 编译器可以报告未知属性的错误吗?即使有范围?

    在N3291 7 6 1 3 5 属性语法和语义 decl attr grammar 关于如何属性是用我读过的源代码写的 使用一个属性范围令牌是有条件支持的 实现定义的行为 and For an 属性标记本国际标准中未指定 该行为是实现定义

随机推荐

  • 部署CDN的网站如何找真实IP

    部署CDN的网站找真实IP 1 概述 目前很多网站使用了cdn服务 用了此服务 可以隐藏服务器的真实IP 加速网站静态文件的访问 而且你请求网站服务时 cdn服务会根据你所在的地区 选择合适的线路给予你访问 由此达网站加速的效果 cdn不仅
  • Java面向对象编程

    如下SQL语句中 可能返回null值 1 select count from t1 2 select max col1 from t1 3 select concat max max col1 from t1 A 1 可能 2 和 3 不可
  • 费杰:产品经理修炼之道

    前言 写在 产品经理修炼之道 之前 由于市场对产品经理的需求量增加 加之媒体把产品经理的重要性放大 于是导致大量人员涌进产品经理队伍 但是由于行业本身还不是很成熟 各个企业对产品经理的认识不够深入 大量产品经理处于尴尬的境地 产品经理岗位对
  • StringUtils的方法详解

    StringUtils方法详解 前言 方法详解 字符串为null或空的判断 空字符串的判断 trim相关方法 去除字符串两端指定的字符串 前言 StringUtils是一个处理字符串非常强大的类 能够让我们在处理字符串时少写很多代码 方法详
  • 解决excel导入异常:org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be

    记录一下开发中使用POI中的HSSFWorkbook来读取Excel数据时 遇到的 excel 导入出现的异常问题 先上部分解析代码 获取excel文件流 POIFSFileSystem fileSystem new POIFSFileSy
  • 解决Ubuntu中you are in emergency mode(紧急模式)问题

    我安装的ubuntu18 04 win10的双系统 不知道为什么我的ubuntu开机出现you are in emergency mode 有人说是未正常关键导致 但是我关机都是shutdown 我们现在来解决you are in emer
  • 【CSS】CSS 选择器

    CSS 选择器 1 基础选择器 1 1 元素选择器 语法 标签名 元素选择器会选中对应标签名的HTML元素 例如 p div span 等 1 2 类选择器 语法 类名 类选择器会选中class属性为指定类名的HTML元素 例如 div c
  • 29岁,转行python,一举拿下14k的offer,高薪方法太绝了

    前言 我转行之前从事的工作是商场管理 努力了4年左右的时间才做到楼层经理 但是工资太低并且事情太多 薪资才6K 我的工作需要东奔西跑 每次前往下一个工作地点的时候 我就在想我真的喜欢这种生活吗 偶然有一天 在微信平台上看到的一则Python
  • 美通企业日报

    今日要闻 2019中国最佳表现城市排行榜发布 世界著名智库米尔
  • 【C语言程序设计】学生信息管理系统

    目录 一 实验任务 二 实验代码 三 运行效果 一 实验任务 学生信息管理系统设计 学生信息包括 学号 姓名 年龄 性别 出生年月 地址 电话 E mail等 试设计一学生信息管理系统 使之能提供以下功能 1 系统以菜单方式工作 2 学生信
  • Python 1——温度转换代码分析

    Python 1 主要参考中国大学MOOC 北京理工大学课程 TempConvert2 py 注释 TempStr input 请输入带有符号的温度值 if TempStr 1 in F f C eval TempStr 0 1 32 1
  • c语言程序设计薪水,C语言程序设计  输入10名职工的职工号和工资,计算平均工资并输出低于平均工资的职工号和工资。...

    满意答案 偶要蟹黄堡 2013 11 24 采纳率 40 等级 12 已帮助 6292人 我给你编写了一个简单的 你自己参考一下 自己润色吧 include typedef struct employee char employee num
  • GNSS系列(1)------GNSS坐标系转换

    由于工作需要 最近开启了GNSS系列文章的撰写工作 发布于公司官网 现将其同步至CSDN 原文链接 http onemo10086 com school article 165 GNSS定位不准确 漂移了好几公里 是怎么回事呢 相信有不少用
  • Unity窗口标题栏显示项目路径

    Unity项目开发过程中会有主干分支等等很多版本 同时打开多个项目时无法区分各个Unity窗口是哪个版本 可以把项目完整路径设置到窗口标题栏方便区分 方法如下 UpdateUnityEditorProcess cs using System
  • 类 模板 已经声明为非类 模板

    类 模板 已经声明为非类 模板 解决方案 原因是在当前包下 已经定义了AA类 解决方案 更改模板类AA的类名
  • Linux系统环境搭建

    一 VM虚拟机创建步骤 1 打开VM点击新创建虚拟机 一直点击下一步到下图显示这里 然后点击自定义硬件 选择IOS映像文件 选择映像文件后点击关闭 然后启动虚拟机 点击连接网络开关 显示已连接后 点击开始安装虚拟机 设置密码 安装完成后点击
  • Ubuntu 生成core文件

    man core 命令 可查阅关于core dump file的详细信息 下文是我的一些总结 core dump file 是进程终止时的内存映像 是个磁盘文件 可用来调试 但是有时程序显示 段错误 核心已转储 时 并没有生成core文件
  • STM32实现红外感应传感器功能

    原理 人体都有恒定的体温 一般在 37 度 所以会发出特定波长 10um 左右的红外线 人体发射的 10um 左右的红外线通过菲涅尔滤光片增强后聚集到红外感应源上 这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡 向外释放电荷 后
  • 西门子tcpip通讯实例_西门子1200PLC,组态王与Access数据库通讯--⑤设置PLC设备

    西门子1200PLC 组态王与Access数据库通讯 设置PLC设备 设置PLC设备 1 0 打开组态王软件 打开工程 会看到如下界面 点击COM2 2 0 可以看到新建 点击新建设备 现在我们要连的是西门子系列的1200 所有选择西门子
  • vscode C++配置

    一般配置 在创建了工作区域以后 会有一个 vscode文件夹 里边有launch json tasks json两个文件 launch json 使用 IntelliSense 了解相关属性 悬停以查看现有属性的描述 欲了解更多信息 请访问