C++在vscode中的code runner配置/环境配置

news2025/2/26 5:53:31

C++在vscode中快捷运行(code runner)

一、配置tasks.json

  1. 在vscode中创建文件夹或打开文件夹,会发现文件夹下多了一个.vscode文件夹,在该文件夹下创建tasks.json文件,并添加一下内容
{
  "version": "2.0.0",
  "tasks": [
      {
          "type": "shell",
          "label": "g++ build active file",
          "command": "path",
          "args": [
              "-g",
              "-std=c++11",
              "${fileDirname}\\*.cpp",
              "-o",
              "${fileDirname}\\${fileBasenameNoExtension}.exe"
          ],
          "options": {
              "cwd": "${fileDirname}"
          },
          "problemMatcher": [
              "$gcc"
          ],
          "group": {
              "kind": "build",
              "isDefault": true
          },
      }
  ]
}
  • 注意"command": "path"要填写本地路径

  • 可以打开win + R,打开cmd,输入where g++.exe

  • 复制出现的内容,替换"command": "path"中的path,注意把反斜杠改为\\或者/。

  1. 运行

    在这里插入图片描述

二、配置code runner的配置

  1. 打开 VS Code 的设置(File > Preferences > Settings)

  2. 搜索 “Code Runner: Executor Map”

  3. 点击 “Edit in settings.json”

  4. 在 settings.json 文件中,找到该行并添加或修改 C++ 的执行命令:

    在这里插入图片描述

    "cpp": "cd $dir && <path> *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt",注意path替换为与第一步配置tasks.json相同的路径,填写的时候注意把<>删除

三、配置launch.json

  1. 同样在.vscode文件夹下创建launch.json并输入

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "path",
                "setupCommands": [
                    {
                        "description": "为 gdb 启用整齐打印",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++ build active file"
            }
        ]
    }
    
    

    "miDebuggerPath": "path"替换为自己的路径,方法与方法一找g++一样,只不过是把g++换成gdb

  2. 开始debug

    在这里插入图片描述

  3. 选择

    在这里插入图片描述

配置解答

  1. tasks.json 文件用于定义你在项目中可以运行的任务。它可以用来构建、清理项目,或者运行其他的自动化任务,比如运行编译器、启动脚本等。launch.json 文件用于配置调试器的启动选项。你可以定义如何运行和调试你的程序,包括指定调试目标、调试器配置等。

  2. vscode配置C++文件的debug需要单独设置launch.json,因为我设置的是只作用于当前项目所以步骤三的第三步要选择(gdb)lauch,如果大家想设置vscode全局的,在这里选择创建launch.json即可

    在这里插入图片描述

  3. 这里配置只作用与当前项目中,其它项目中是失效的,这样起到了项目与项目之间隔绝,我认为类似于python中的虚拟环境,但还是有些许差别(诸如依赖方面)。

  4. 注意不要使用gcc,使用g++

  5. 记得修改code runner,code runner默认cpp配置在运行文件引用另一个文件会出问题,就比如课上的例子。

  6. 这种方法跨平台性较差,换一个编译器就不行了,如果有时间可以学习使用cmake。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

弘景光电:以创新为翼,翱翔光学科技新蓝海

在科技日新月异的今天&#xff0c;光学镜头及模组作为智能设备的核心组件&#xff0c;其重要性日益凸显。广东弘景光电科技股份有限公司&#xff08;以下简称“弘景光电”&#xff09;正是在这一领域中&#xff0c;凭借其卓越的研发实力和市场洞察力&#xff0c;即将在创业板上…

工具篇:(二)MacOS 下载 MySQL 并进行配置连接,使用 VSCode 创建 Node 项目-亲测有效

MacOS 下载 MySQL 并进行配置连接&#xff0c;使用 VSCode 创建 Node 项目 我们将介绍如何在 macOS 上下载和配置 MySQL 数据库&#xff0c;并使用 VSCode 创建一个 Node.js 项目进行测试。通过这些步骤&#xff0c;您将能够顺利地设置开发环境并进行基本的数据操作。 一、删…

【国际学术会议之都,IEEE出版】第四届计算机科学、电子信息工程和智能控制技术国际会议(CEI 2024,2024年11月8-10日)

第四届计算机科学、电子信息工程和智能控制技术国际会议&#xff08;CEI 2024&#xff09; 2024 4th International Conference on Computer Science, Electronic Information Engineering and Intelligent Control Technology 官方信息 会议官网&#xff1a;www.ic-cei.org …

AFSim仿真系统 --- 系统简解_10处理器 (Processors)

处理器 (Processors) 处理器提供了为特定平台定义行为的能力。 大多数处理器由用户使用 AFSIM 脚本语言定义。 以下是一些预定义的处理器类型&#xff1a; WSF_DIRECTION_FINDER_PROCESSORWSF_TRACK_PROCESSORWSF_MESSAGE_PROCESSORWSF_GUIDANCE_COMPUTERWSF_IMAGE_PROCESS…

Android11 USB Camera会出现预览绿屏问题

目录 一、问题描述 二、问题原因 三、解决方法 一、问题描述 DDR容量是4G及以上的机器&#xff0c;USB Camera会出现预览绿屏问题。 串口中会刷如下log: 二、问题原因 RGA2使用超过4G内存会异常&#xff0c;导致USB Camera调用rga相关操作报错&#xff0c;从而预览绿屏 三…

深度学习基础—神经风格迁移

1.什么是神经风格迁移 神经风格迁移就是将一张图片的风格迁移到另一张图片上&#xff0c;生成具有第一张图片风格的新的图片。新图片的主体还是第二张图片&#xff0c;但是风格是第一张图片的。 如下两组图片都是神经风格迁移的例子&#xff1a; 将绘画的风格迁移到真实建筑图片…

树型名称前面插入图片

需求&#xff1a; 搜索树、树型要显示连线&#xff0c;还有名称前带图片 ui组件&#xff1a;https://devui.design/components/zh-cn/overview 直接上代码 [checkable] false 表示取消复选框 <div class"p-sm"><div class"row"><d-sea…

软件开发----Java基础每日刷题(转载于牛客)

1. 对抽象类的描述正确的是() A 抽象类的方法都是抽象方法 B 一个类可以继承多个抽象类 C 抽象类不能有构造方法 D 抽象类不能被实例化 正确答案&#xff1a;D 解析&#xff1a; A.抽象类可以有非抽象的方法&#xff0c;而接口中的方…

Flythings学习(三)界面交互

文章目录 1 界面切换1.1 打开界面1.2 关闭界面 2 界面活动周期2.1 打开不存在页面的活动流程2.2 打开已存在界面&#xff08;被隐藏的界面&#xff09;2.3 关闭界面的流程 1 界面切换 界面切换的相关函数如下 1.1 打开界面 如果需要打开一个界面&#xff0c;在其他界面的控件…

WebSocket状态码及异常报错1006

文章目录 1.WebSocket协议简介2.WebSocket状态码的作用&#xff1a;3.WebSocket状态码1006详解1.问题原因2.解决方案 1.WebSocket协议简介 WebSocket协议是一种基于TCP的协议&#xff0c;它通过在浏览器和服务器之间建立一条持久的双向通信通道&#xff0c;实现了实时的数据传…

【论文阅读】SAM 2: 分割一切图像和视频

导言 继SAM模型发布以来&#xff0c;Meta公司于2024年8月发布第二个图像分割大模型SAM2。相较于第一代SAM模型&#xff0c;论文提出了第二代“分割任意物体模型” (SAM 2)&#xff0c;旨在解决视频中的可提示视觉分割任务&#xff08;Promptable Visual Segmentation, PVS&…

TVS常规过压保护

一、前言 上一篇文章 TVS选型-CSDN博客https://blog.csdn.net/qq_39543984/article/details/142825929?spm=1001.2014.3001.5501我们介绍了如何通过理论计算选择合适的TVS,TVS主要是防止瞬间过压,因为他的名字就叫瞬态二极管(Transient Voltage Suppressor)。本文就通过理…

自动化检查网页的TDK,python+selenium自动化测试web的网页源代码中的title,Description,Keywords

首先&#xff0c;TDK是什么&#xff1f;对于新手小白来说&#xff0c;可能是懵逼的&#xff0c;所以这里给出一个官方的解说‌网页的TDK是指标题&#xff08;Title&#xff09;、描述&#xff08;Description&#xff09;和关键词&#xff08;Keywords&#xff09;的集合‌。这…

智慧船舶物联网实训室建设方案

第一章 建设背景 随着全球海洋经济的蓬勃发展与智能化技术的日新月异&#xff0c;数字船舶物联网&#xff08;Internet of Things for Maritime, IoT-Maritime&#xff09;与人工智能&#xff08;Artificial Intelligence, AI&#xff09;的结合已成为推动航运业转型升级的关键…

企业资源枯竭时,数字化转型能否带来新资源?

​在商业竞争激烈的当下&#xff0c;企业发展依赖各类资源。然而&#xff0c;资源可能面临枯竭&#xff0c;如原材料短缺、市场份额下降、人才流失等。此时&#xff0c;数字化转型成为企业突破困境的重要途径&#xff0c;那么它能否带来新资源呢&#xff1f; 先看企业资源分类。…

C++,STL 031(24.10.14)

内容 stack容器&#xff08;栈&#xff09;的常用接口。 代码 #include <iostream> #include <stack> // 注意包含stack容器&#xff08;栈&#xff09;的头文件using namespace std;void test01() {stack<int> s1; // here01&#xff0c;默认构造stack<…

5g工业路由器最新案例:高原气象站网络升级项目

背景&#xff1a; 某省气象局决定在高原地区升级其气象观测网络&#xff0c;以提高天气预报的准确性和及时性&#xff0c;同时为气候变化研究提供更可靠的数据支持。该项目面临以下挑战&#xff1a; 需要在高原广袤且地形复杂的区域部署大量自动气象站&#xff0c;要求网络覆…

pytorh学习笔记——手写数字识别mnist

pytorh学习第二站&#xff1a;手写数字识别 一、训练程序 1、创建脚本框架mnist_demo.py&#xff1a; import torch import torchvision.datasets as dataset# data # 定义数据# net # 定义网络# loss # 损失# optimizer # 优化# training # 训练# test # 测试# save# 保…

uniapp onPageScroll

子组件有onPageScroll, 首页也要引入onPageScroll, eg: 主页面 sell/detail/index 《子组件》 <script setup> 引入onPageScroll </script> 组件&#xff1a; 引入onPageScroll 别人的比较

智能健康顾问:基于SpringBoot的系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…