https://blog.csdn.net/bujidexinq/article/details/106539523

准备工作:
安装好vscode
安装插件『C/C++』
正式开始:
首先是创建一个空的文件夹(比如文件夹为test),然后在其中新建一个.cpp文件(比如文件为hello.cpp)打开vscode打开test文件夹作为工作目录,接下来用三步配置好C++开发环境

第一步:
[⇧⌘P]打开命令模式,选择[C/Cpp: Edit Configurations(JSON)]命令,回车后会自动生成一个.vscode目录,目录下有一个c_cpp_properties.json文件,下面给出我的文件示例:

  1.  
    {
  2.  
        "configurations": [
  3.  
            {
  4.  
                "name": "Mac",
  5.  
                "includePath": [
  6.  
                    "${workspaceFolder}/**",
  7.  
                    "/Library/Developer/CommandLineTools/usr/include/c++/v1",
  8.  
                    "/usr/local/include",
  9.  
                    "/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include",
  10.  
                    "/Library/Developer/CommandLineTools/usr/include"
  11.  
                ],
  12.  
                "defines": [],
  13.  
                "macFrameworkPath": [
  14.  
                    "/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks",
  15.  
                    "/System/Library/Frameworks",
  16.  
                    "/Library/Frameworks"
  17.  
                ],
  18.  
                "compilerPath": "/usr/bin/clang",
  19.  
                "cStandard": "c11",
  20.  
                "cppStandard": "c++17",
  21.  
                "intelliSenseMode": "clang-x64"
  22.  
            }
  23.  
        ],
  24.  
        "version": 4
  25.  
    }

第二步:
[⇧⌘P]打开命令模式,选择[Tasks: Configure Task]命令,选择的模板为MSBuild,回车后会自动在.vscode目录下生成一个tasks.json文件,下面给出我的文件示例:

  1.  
    {
  2.  
        // See https://go.microsoft.com/fwlink/?LinkId=733558
  3.  
        // for the documentation about the tasks.json format
  4.  
        "version": "2.0.0",
  5.  
        "tasks": [
  6.  
            {
  7.  
                "label": "build c++",
  8.  
                "type": "shell",
  9.  
                "command": "g++",
  10.  
                "args": [
  11.  
                    "${file}",
  12.  
                    "-std=c++17",
  13.  
                    "-g",
  14.  
                    "-Wall",
  15.  
                    "-lm",
  16.  
                    "-o",
  17.  
                    "${fileDirname}/${fileBasenameNoExtension}.out"
  18.  
                ],
  19.  
                "group": "build",
  20.  
                "presentation": {
  21.  
                    "reveal": "silent",
  22.  
                    "panel": "shared",
  23.  
                    "echo": true,
  24.  
                    "focus": false,
  25.  
                    "showReuseMessage": true,
  26.  
                    "clear": false
  27.  
                },
  28.  
                "problemMatcher": "$gcc"
  29.  
            },
  30.  
            {
  31.  
                "label": "run c++",
  32.  
                "type": "shell",
  33.  
                "dependsOn": "build c++",
  34.  
                "command": "${fileDirname}/${fileBasenameNoExtension}.out",
  35.  
                "presentation": {
  36.  
                    "focus": true
  37.  
                },
  38.  
                "group": "test"
  39.  
            }
  40.  
        ]
  41.  
    }

第三步:
[⇧⌘P]打开命令模式,选择[Debug: Open launch.json]命令,选择的模板为C/C++,回车后会自动在.vscode目录下生成一个launch.json文件,下面给出我的文件示例:

  1.  
    {
  2.  
        // Use IntelliSense to learn about possible attributes.
  3.  
        // Hover to view descriptions of existing attributes.
  4.  
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  5.  
        "version": "0.2.0",
  6.  
        "configurations": [
  7.  
            {
  8.  
                "name": "c/c++ Launch",
  9.  
                "type": "cppdbg",
  10.  
                "request": "launch",
  11.  
                "program": "${fileDirname}/${fileBasenameNoExtension}.out",
  12.  
                "args": [],
  13.  
                "stopAtEntry": false,
  14.  
                "cwd": "${workspaceFolder}",
  15.  
                "environment": [],
  16.  
                "externalConsole": true,
  17.  
                "MIMode": "lldb",
  18.  
                "preLaunchTask": "build c++",
  19.  
                "logging": {
  20.  
                    "trace": true,
  21.  
                    "traceResponse": true,
  22.  
                    "engineLogging": true
  23.  
                }
  24.  
            }
  25.  
        ]
  26.  
    }

完成这三步C++开发环境就配置好了,接下来就可以编译,运行,调试C++程序了

[⇧⌘B]是编译程序,[⇧⌘R]是运行程序,如果安装了插件『Code Runner』可以直接运行程序

如果需要调试,那就按F5,进入调试模式即可

好了,这样就可以顺利地在vscode上进行C++开发啦,赶快行动起来吧~

在mac上使用vscode创建第一个C++项目的更多相关文章

  1. 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用

    Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and inst ...

  2. VsCode创建第一个vue项目

    使用vue-cli快速构建项目  vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. 安装vue-cli之前,需要先安装了vue和webpack · node -v      ...

  3. 使用VSCode创建第一个VUE项目

    vue init webpack vue_test回车,然后输入工程名称vue_test vue:Missing space before value for key 'components' 原因是 ...

  4. Mac上利用VScode配置c/c++开发环境

    Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...

  5. 用Kotlin创建第一个Android项目(KAD 01)

    原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...

  6. 3.创建第一个android项目

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 3.创建第一个android项目 1.打开Eclipse,选择File——>new——>others.. ...

  7. 创建第一个Maven项目

    -----------------------siwuxie095                                     创建第一个 Maven 项目         1.打开 Ec ...

  8. Node.js npm基础安装配置&创建第一个VUE项目

    使用之前,我们先来明白这几个东西是用来干什么的. node.js: 一种javascript的运行环境,能够使得javascript脱离浏览器运行.Node.js的出现,使得前后端使用同一种语言,统一 ...

  9. dya49:django:wsgrief&模板渲染Jinjia2&django的MTV/MVC框架&创建/启动一个django项目

    目录 1.自定义web框架wsgiref版 2.自定义web框架wsgiref版-优化版 3.模板渲染JinJa2 4.MTV和MVC框架 5.django:下载安装&创建启动 自定义web框 ...

随机推荐

  1. MinIO

    MinIO 是一个非常轻量的基于 Apache License v2.0 开源协议的对象存储服务.它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份 ...

  2. pthread 条件变量

    在上一篇博客互斥量中,解决了线程如何互斥访问临界资源的问题. 在开始本文之前,我们先保留一个问题:为什么需要条件变量,如果只有互斥量不能解决什么问题? API init/destroy 条件变量的数据 ...

  3. MapReduce怎么优雅地实现全局排序

    思考 想到全局排序,是否第一想到的是,从map端收集数据,shuffle到reduce来,设置一个reduce,再对reduce中的数据排序,显然这样和单机器并没有什么区别,要知道mapreduce框 ...

  4. 第10.10节 Python使用__init__.py自动加载包下内容

    在前面章节老猿介绍了包下模块及子包的加载的各种方式,并说明包的加载首先是自动加载包下的__init__.py文件.在<第10.6节 Python包的概念>中介绍了__init__.py文件 ...

  5. 第15.16节 PyQt(Python+Qt)入门学习:PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用

    老猿Python博文目录 老猿Python博客地址 一.引言 前面一些章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重要核心特性,还是非常有必要单独介绍. 二.信 ...

  6. java的jdk8新特性optional怎么样使用

    从 Java 8 引入的一个很有趣的特性是 Optional  类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) -- 每个 Java 程序员都 ...

  7. 深入分析 Java 乐观锁

    前言 激烈的锁竞争,会造成线程阻塞挂起,导致系统的上下文切换,增加系统的性能开销.那有没有不阻塞线程,且保证线程安全的机制呢?--乐观锁. 乐观锁是什么? 操作共享资源时,总是很乐观,认为自己可以成功 ...

  8. web移动端点击穿透问题

    在移动端开发的时候,我们有时候会遇到这样一个bug:点击关闭遮罩层的时候,遮罩层下面的带有点击的元素也会被触发,给人一种击穿了页面的感觉,这是为什么呢?主要是因为用户touch事件关闭按钮的时候,触发 ...

  9. 使用JMeter进行负载测试快速入门

    相信JMeter是很多测试人员必备技能之一,今天简单讲一下开发人员如何使用JMeter进行简单的压力测试快速入门. 安装JMeter Jmter官方地址 按提示下载JMeter,然后直接解压就可以用了 ...

  10. Java设计模式(一)——单例模式

    简介 定义: 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例. 单例类拥有一个私有构造函数,确保用户无法通过 new 来直接实例化它.类中包含一个静态私有成员变量与静态公有的工厂方法, ...