vscode 配置c/c++环境,与python共用。

2023-11-13

每个人的电脑路径因人而异,下面只是我的配置,仅供参=参考。

vscode的安装以及插件软件的安装根据另一个博主的帖子:https://blog.csdn.net/weixin_44049923/article/details/103619882

.vscode下文件:c_cpp_properties.json、CMakeLists.txt、extensions.json、launch.json、settings.json、tasks.json

1、c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}",
                "${workspaceFolder}/**",
                "${workspaceFolder}/C_Cplus/.include**"
            ],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "${workspaceFolder}/**",
                    "${workspaceFolder}/C_Cplus/.include**"  
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            },
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "C:/Users/fb1364/Downloads/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

2、CMakeLists.txt 略

3.extensions.json

{
    "recommendations": [
        "mitaki28.vscode-clang"
    ]
}

4、launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: 当前文件",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    },
    {
      "name": "g++.exe - Build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "C:/Users/fb1364/Downloads/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe build active file"
    }
  ]
}

5、settings.json

{
    "files.associations": {
        "vector": "cpp",
        "iostream": "cpp",
        "cstdio": "cpp",
        "new": "cpp",
        "queue": "cpp",
        "array": "cpp",
        "*.tcc": "cpp",
        "deque": "cpp",
        "string": "cpp",
        "unordered_map": "cpp",
        "memory_resource": "cpp",
        "optional": "cpp",
        "string_view": "cpp",
        "algorithm": "cpp",
        "memory": "cpp",
        "initializer_list": "cpp",
        "type_traits": "cpp",
        "utility": "cpp",
        "ostream": "cpp",
        "atomic": "cpp",
        "cstdlib": "cpp",
        "istream": "cpp",
        "ndslib.h": "c",
        "inttypes.h": "c",
        "platform.h": "c",
        "ae350.h": "c",
        "atcsmu100.h": "c"
    },
    "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
    "clang.cflags": [ // 控制c语言静态检测的参数
        "--target=x86_64-w64-mingw32",
        "-I",
        "C_Cplus/.include/**",
        "-std=c11",
        "-Wall"
    ],
    "clang.cxxflags": [ // 控制c++静态检测时的参数
        "--target=x86_64-w64-mingw32", // clang另一个插件无法更改这个,所以头文件找不到报错
        "-I",
        "C_Cplus/.include/**",  // 自己写头文件的时候这里要改,包含进去,不然静态检测会检测不到头文件
        "-std=c++17",
        "-Wall"
    ],
    "clang.completion.enable": true,
    "openhab.useRestApi": false
    /// code-runner
    /// "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
    /// "code-runner.executorMap": {
    ///     "c": "cd $dir && clang '$fileName' -o '$fileNameWithoutExt.exe' -I './include/' -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c11 && &'$dir$fileNameWithoutExt'",
    ///     "cpp": "cd $dir && clang++ '$fileName' -o '$fileNameWithoutExt.exe' -I './include/' -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c++17 && &'$dir$fileNameWithoutExt'"
    ///     // "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
    ///     // "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc --target=x86_64-w64-mingw -std=c++17 && $dir$fileNameWithoutExt"
    /// }, // 控制Code Runner命令;未注释的仅适用于PowerShell(Win10默认),文件名中有空格也可以编译运行;注释掉的适用于cmd(win7默认),也适用于PS,文件名中有空格时无法运行
    /// "code-runner.saveFileBeforeRun": true, // run code前保存
    /// "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
    /// "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息,默认false
    /// "code-runner.ignoreSelection": true // 默认为false,效果是鼠标选中一块代码后可以单独执行,但C是编译型语言,不适合这样用
}

6、tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++.exe build active file",
      "command": "clang++",
      // "command": "C:/Users/fb1364/Downloads/x86_64-8.1.0-release-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe",
      "args": [
               "-g",
               "${file}", 
               "-o", 
               "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe",
               "-I",
               "${workspaceFolder}/C_Cplus/.include", // 我有自己编写的头文件在./include文件夹下,所以包含
              //  "-g", // 生成和调试有关的信息
               "-Wall", // 开启额外警告
               "-static-libgcc", // 静态链接libgcc,一般都会加上
               "--target=x86_64-w64-mingw32", // clang的默认target为msvc,不加这一条就会找不到头文件;用gcc或者Linux则掉这一条
               "-std=c++17", // C++最新标准为c++17,或根据自己的需要进行修改
              ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "presentation": {
        "echo": true,
        "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档
        "focus": true, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
        "panel": "shared", // 不同的文件的编译信息共享一个终端面板
        "clear": false
    },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode 配置c/c++环境,与python共用。 的相关文章

  • 桌面研究-数据源

    文章目录 1 各国每年人口统计表 2 各国年龄结构表 3 国家简介 4 城镇化率 5 美国房屋统计数据 6 各国教育水平 7 住房类型 8 家庭结构 家庭人数 9 恩格尔系数 10 IMF 人均GDP PPP人均GDP 1 各国每年人口统计
  • 自动化测试需要学什么?二十八岁功能想转自动化现实吗?

    先回答一下后面那个问答 二十八岁还能从功能转自动化吗 很多接触软件测试都是从功能测试开始的 但是功能测试的薪资会比自动化少很多 所以就想要要学习自动化 从功能测试转到做自动化 其实这是完全来的及的 花上几个月时间学习自动化测试 造福以后 这
  • 智能化里面计算机网络设计思路,浅谈云机房网络的建设和维护及思路分析

    徐振宇 张欣 摘要 现代机房网络管理过程中 云技术的应用效果非常的显著 该文先对机房中的云技术应用实践中进行分析 并在此基础上就云机房网络的建设及其维护和设计思路 谈一下个人的观点和认识 以供参考 关键词 机房 云技术 网络建设 维护 设计
  • Blob 文件下载对应的常见 MIME 类型列表

    Blob 对象表示一个不可变 原始数据的类文件对象 它的数据可以按文本或二进制的格式进行读取 也可以转换成 ReadableStream 来用于数据操作 在 JS 中通常使用 Blob 进行文件下载保存 new 转换过程中需要指定下载文件
  • BurpSuite Proxy 给代理设置上层代理

    1 简单描述 正常情况而言 使用BurpSuite时数据包的经过流程为 浏览器 BurpSuite Repeater Intruder gt BurpSuite Proxy gt 目标服务器 这个时候其实还是本机发出的流量 我们想让流量由其
  • vue环境变量配置——process.env(详细)

    目录 一 背景 二 配置环境的实现原理 三 使用步骤 3 1安装依赖 3 2创建 env dev 和 env prod两个文件 3 3设置项目启动时默认的环境 3 4查看环境是否配置成功 一 背景 在用vue框架时 经常用到两种环境 一种是
  • 智能指针auto_ptr

    智能指针 auto ptr 这个名字听起来很酷是不是 其实auto ptr 只是C 标准库提供的一个类模板 它与传统的new delete控制内存相比有一定优势 但也有其局限 本文总结的8个问题足以涵盖auto ptr的大部分内容 1 au
  • DVWA-Brute Force

    Brute force 暴力破解 是一种试图通过尝试所有可能的组合 通常是密码 来获取敏感信息或破解加密的技术或方法 这种攻击方法通常被用来破解密码 对系统进行入侵或访问受限资源 暴力破解攻击的原理是通过迭代尝试各种可能的组合 例如密码字典
  • 2023前端面试题------JS 面试题(1)

    2023前端面试题 JS面试题 三 JS高频面试题 1 介绍JS有哪些内置对象 2 如何最小化重绘 repaint 和回流 reflow 3 Javascript作用域链 4 数据请求 5 跨域和同源策略 6 面向对象 7 闭包 8 数组去
  • rtp协议分析

    感谢原作者 http blog csdn net rootusers article details 41864387 网络模型 网络通信分为7层 OSI 是一个理论模型 由高到低分别是 应用层 文件传输 电邮 文件服务等 HTTP Tel
  • 【华为OD机试】响应报文时间【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 IGMP 协议中 有一个字段称作最大响应时间 Max Response Time HOST收到查询报文 解折出 MaxResponsetime 字段后 需要在 0 M
  • wps插入图片显示不全、混乱

    问题如下 原因 格式混乱 解决办法 1 统一格式 使用格式刷统一文档的格式 2 Ctrl A 全选 重新选择行距 3 重新粘贴图片 选择嵌入型
  • 从0到1框架搭建,Python+Pytest+Allure+Git+Jenkins接口自动化框架(超细整理)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小
  • Grokking the System Design Interview: 如何应对系统设计面试

    拥有良好的系统设计能力 是一个优秀程序员的必要素质 当然更重要的是 越来越多的公司在面试中考察系统设计能力 尤其是外企巨头 如谷歌 亚马逊 微软等 这些公司对于社招的软件工程师往往有这方面的要求 但是系统设计和算法题不一样 它考察的是程序员
  • Unit sshd.service could not be found.

    错误原因 刚安装了Ubuntu18 04系统 用Xshell连接服务器失败 因为服务器没有开启 可被远程连接的功能 指令输入 systemctl status sshd 然后出现了标题上的错误 解决方法 一 检测bug原因 ps e gre
  • 接口自动化入门-TestNg

    目录 1 TestNg介绍 2 TestNG安装 3 TestNG使用 3 1 编写测试用例脚本 3 2 创建TestNG xml文件 1 创建testng xml文件 2 修改testng xml 4 测试报告生成 1 TestNg介绍
  • Flutter悬浮窗组件之实现快捷换肤、切换语言等开发调试功能模块

    一 最近开发一个App具有黑白两个主题和切换语言的功能 所以在开发的时候一个页面总是要不断的去切换主题和语言来查看功能是否正常 为了提高这个开发效率突然想到可以在应用上增加一个悬浮窗组件然后实现主题切换和语言切换的功能 这样在任意一个页面就
  • JavaScript数据结构-树

    文章转自 JavaScript数据结构 树 我觉得这社会上 也不差钱好多人 可能好多人也不差权力 但是我觉得能得到这种满足的也不多 郭小平 lt 临汾红丝带学校校长 gt 树是计算机科学中经常用到的一种数据结构 树是一种非线性的数据结构 以
  • Makefile的两种编译方法——原地编译和单独输出文件夹编译

    1 原地编译 编译代码时默认是原地编译 原地编译就是编译生成的 o文件和相应的 c文件是在同一目录的 原地编译比较简单 但是会污染源码 目录里会多出生成的 o文件 并且编译不同配置的目标文件 都要先清除之前的 o文件 2 单独输出文件夹编译
  • 【Python爬虫与数据分析】爬虫Json数据解析

    目录 一 Json文件数据解析 二 Json数据包解析获取图片资源 三 Json数据包解析获取视频资源 一 Json文件数据解析 json字符串 通常类似python数据类型中的列表和字典的结合 也可能是单独的列表或者字典格式 通常可以通过

随机推荐

  • Win10:修改电脑桌面路径

    Win10 修改电脑桌面路径 1 win R进入运行 输入 regedit 2 进入 注册表编辑器 3 依次打开 HKEY CURRENT USER Software Miscrosoft Windows Explorer Uesr she
  • 腾讯2020校招第一次笔试第1题

    小Q想要给他的朋友发送一个神秘字符串 但是他发现字符串的过于长了 于是小Q 发明了一种压缩算法对字符串中重复的部分进行了压缩 对于字符串中连续的m个相同字 符串S将会压缩为 m S m为一个整数且1 lt m lt 100 例如字符串ABC
  • 如何创建Vue项目

    一 Vue项目构建 1 安装node 简介 Node js并不是我们平常使用的JavaScript库 它是一个JavaScript的运行环境 基于这个环境 我们可以不需要浏览器直接执行js代码 类似于Java的运行环境jdk 安装 官网下载
  • 环境搭建之jetBrains-IDEA安装激活

    1 下载安装程序 2 运行安装程序 3 装完后运行 激活或者破解参考 https blog csdn net justszh article details 81484802 ThisCrackLicenseId licenseId Thi
  • 炒了8年的概念,到底该如何理解DevOps这个词?

    如何实施DevOps成为众多企业迫切面临的问题 本文作者刘相 有10多年的从业经验 他结合自身企业实施DevOps的经验 梳理出DevOps在企业的组织 技术 流程等方面的最佳实践与价值 以及如何搭建DevOps平台来支撑DevOps的落地
  • Windows环境同时安装多个版本的Python解释器(python2和python3)(超详细)

    1 背景描述 众所周知 python当前有两大主流版本 分别是Python2和Python3系列 其中Python3因为对Python2做了较大的优化 使得Python3不会向下兼容 但是工作和学习中 有很多项目需要Python2的环境 有
  • Unity使用UnityWebRequest请求服务器json数据,webgl端服务器请求

    根据unity官方说的 WebGL 网络无法直接访问套接字 由于存在安全隐患 JavaScript 代码无法直接访问 IP 套接字来实现网络连接 因此 NET 网络类 即 System Net 命名空间中的所有内容 具体而言就是 Syste
  • error_80051,source size 2780KB exceed max limit 2MB [时间][appid]

    error 80051 source size 2780KB exceed max limit 2MB 时间 appid 微信小程序预览报错 message Error 系统错误 错误码 80051 source size 2780KB e
  • Docker之容器退出(实战)

    docker实战 一 centos7 yum安装docker docker实战 二 基础命令篇 docker实战 三 docker网络模式 超详细 docker实战 四 docker架构原理 docker实战 五 docker镜像及仓库配置
  • 好用的资源推荐

    前端 扁平化前端css框架 materializecss 很喜欢里面的组件和javascript的调用方式 简单易用多组件好看的css框架 semantic ui 简单好看的基于jquery的消息提示框 CodeSeven toastr 好
  • Java小技巧:避免缓存,Java动态加载配置文件

    Java动态加载配置文件 关键 每次读取都要重新生成流 今天无意间在项目的代码中看到如下这样一段简单加载配置文件的代码 Properties prop new Properties InputStream in PropertiesTest
  • 瀑布流&下拉加载

    瀑布流结合列表下拉加载动画过渡展示 前言 需求默认瀑布流展示列表 下拉加载的时候看到列表顺序过渡加载 1 效果样式 如下 下拉瀑布流加载图片列表 2 引入文件 用到macyjs瀑布流与下拉加载插件mescroll mescroll官网 ht
  • 数据结构学习系列之顺序表的两种插入方式

    方式1 在顺序表末端插入数据元素 代码如下 示例代码 int insert seq list 1 list t seq list int data if NULL seq list printf 入参为NULL n return 1 if
  • 【学习之路】axios之axios.CancelToken

    写法 接受一个回调函数作为参数 new axios CancelToken cancel gt cancel是取消本次请的方法 if xxx cancel else TODO 一般用法 用于发出多个相同请求时 取消重复请求 使用场景 使用数
  • 虚拟机:[Errno 256] No more mirrors to try

    使用linux系统的yum命令去安装一些软件时总是会出现各种问题 下面总结一下 首先确认yum搭建成功 使用mount挂载 每次开虚拟机 都记得要mount挂载 因为这个mount是暂时的 关机后下次就必须重新挂载 不然yum无法正常进行
  • 微信小程序隐藏滚动条的方法,以及禁止上下滑动的方法

    webkit scrollbar display none width 0 height 0 color transparent ms scrollbar display none width 0 height 0 color transp
  • android 手机网络接入点名称及WAP、NET模式的区别

    移动 电信 联通 APN cmwap cmnet ctwap ctnet 3gwap uniwap 3gnet uninet设置 APN Access Point Name 即 接入点名称 用来标识GPRS的业务种类 目前分为两大类 CMW
  • PACS系统源码 PACS源码 基于VC + MSSQL开发

    基于VC MSSQL开发的一套大型医院医学影像PACS系统源码 有演示 文末获取联系 PACS系统可以覆盖医院现有放射 CT MR 核医学 超声 内镜 病理 心电等绝大部分DICOM和非DICOM检查设备 支持从科室级 全院级 集团医院级乃
  • @RequestMapping注解和Controller方法建立映射的流程

    当你的才华还撑不起你的野心的时候 唯有静下心来学习 有没有想过 为什么在controller类的方法上 添加一个 RequestMapping toIndex 注解的时候 从浏览器的输入localhost 8080 toIndex请求就可以
  • vscode 配置c/c++环境,与python共用。

    每个人的电脑路径因人而异 下面只是我的配置 仅供参 参考 vscode的安装以及插件软件的安装根据另一个博主的帖子 https blog csdn net weixin 44049923 article details 103619882