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

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.rhkb.cn/news/447259.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SCRM呼叫中心高保真Axure原型 源文件分享

在数字化时代&#xff0c;客户关系管理&#xff08;CRM&#xff09;对于企业的成功至关重要。SCRM呼叫中心后台作为一款专为CRM设计的软件原型&#xff0c;致力于为企业提供高效、智能的客户沟通解决方案。本文将详细介绍该产品的核心功能及其对企业提升客户满意度和销售业绩的…

前端/node.js锁定依赖版本、锁定依赖的依赖的版本

一、知识前提 version&#xff1a;必须依赖某个具体的版本。如&#xff1a;vue的3.2.0&#xff0c;表示必须安装3.2.0版本。>version&#xff1a;必须大于某个版本。>version&#xff1a;大于或等于某个版本。<version&#xff1a;必须小于某个版本。<version&…

Backward Chaining(后向链推理)

这张图介绍了 Backward Chaining&#xff08;后向链推理&#xff09; 的基本概念和步骤。 后向链推理的基本思路&#xff1a; 后向链推理的目标是从查询目标 ( q ) 开始&#xff0c;向后推导前提条件&#xff0c;验证该查询是否成立。 证明目标 ( q ) 的步骤&#xff1a; 检…

MySQL中 turncate、drop和delete的区别

MySQL中 turncate、drop和delete区别 turncate 执行速度快&#xff0c;删除所有数据&#xff0c;但是保留表结构不记录日志事务不安全&#xff0c;不能回滚可重置自增主键计数器 drop 执行速度较快&#xff0c;删除整张表数据和结构不记录日志事务不安全&#xff0c;不能回…

源码编译llama.cpp for windows on arm

源码编译llama.cpp for windows on arm 这里有编译好的&#xff0c;直接下载使用 https://github.com/turingevo/llama.cpp-build/releases 1 先编译openblas for windows on arm 查看我的文章 《源码编译 openblas for windows on arm》 2 启用OpenBlas加速 上一步openb…

基于yolov8、yolov5的鸟类检测系统(含UI界面、数据集、训练好的模型、Python代码)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 &#xff0c; 直接提供最少两个训练好的模型。模型十分重要&#xff0c;因为有些同学的电脑没有 GPU&#xff0…

FastApi SQLAlchemy SQLite

FastApi fastapi是一个用于构建API 的现代、快速&#xff08;高性能&#xff09;的web框架&#xff0c;它是建立在Starlette和Pydantic基础上的。 Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库&#xff0c;Starlette是一种轻量级的ASGI框架/工具包&…

流程图 LogicFlow

流程图 LogicFlow 官方文档&#xff1a;https://site.logic-flow.cn/tutorial/get-started <script setup> import { onMounted, ref } from vue import { forEach, map, has } from lodash-es import LogicFlow, { ElementState, LogicFlowUtil } from logicflow/core …

Vue Data UI——Vue 3 数据可视化组件库

文章目录 1、Vue Data UI2、核心特点2.1.Vue 3 的深度集成2.2 丰富的可视化组件2.3 灵活的定制性2.4 易于集成2.5 文件导出功能2.6 多主题支持3、如何在项目中使用 Vue Data UI?3.1 安装 Vue Data UI3.2 全局注册组件3.3 局部引入组件3.4 使用通用组件3.5 TypeScript 集成4、总…

新年好——Dijkstra+Permutation

题目 代码 #include <bits/stdc.h> using namespace std; #define x first #define y second typedef pair<int, int> PII; const int N 5e410, M 2e510; const int inf 0x3f3f3f3f; int n, m; int a[6]; int h[N], e[M], ne[M], idx, w[M]; int dist[6][N];…

倾斜的角标 android倾斜角标实现

android倾斜角标实现_android 图片角标如何制作-CSDN博客 import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint;…

企业资产安全之数据防泄密要领

在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;随着数据价值的增加&#xff0c;数据泄露的风险也随之上升。从内部员工的无意泄露到外部黑客的恶意攻击&#xff0c;企业数据安全面临着前所未有的挑战。SDC沙盒数据防泄密解决方案&#xff0c;正是为…

几种常用大模型工具生成基于hi3861的OpenHarmony代码的尝试

引言 最近在上智能物联网的课程&#xff0c;讲授基于hi3861的OpenHarmony编程&#xff0c;所以尝试一下使用大模型工具生成相关的代码&#xff0c;看看效果如何。提问的方式比较简单粗暴&#xff1a; 在OpenHarmony的hi3861平台上&#xff0c;如何编程访问https的网站&#xf…

进程和线程

目录 进程 线程 进程和线程的区别 进程 什么是进程&#xff1f; 每个应用程序运行在操作系统上时&#xff0c; 操作系统会提供一种抽象&#xff0c;好像系统上只有这个程序在运行&#xff0c;所有的硬件资源都被这个程序在使用。 这种假象是通过抽象了一个进程的概念来完成…

什么是编译器?

我们平时所说的程序&#xff0c;是指双击后就可以直接运行的程序&#xff0c;这样的程序被称为可执行程序&#xff08;Executable Program&#xff09;。在 Windows 下&#xff0c;可执行程序的后缀有 .exe 和 .com&#xff08;其中 .exe 比较常见&#xff09;&#xff1b;在类…

决战Linux操作系统

前言&#xff1a; 你是否也曾经为Linux所困扰过&#xff0c;在网上找的资料零零散散&#xff0c;是否学完Linux后还是懵懵懂懂&#xff0c;别怕&#xff0c;这篇博客是博主精心为你准备的&#xff0c;现在&#xff0c;就让我们一起来走进Linux的世界&#xff0c;决战Linux&…

C语言 sizeof 的介绍,以及sizeof计算数组名、 数组首地址、数组的元素之间的区别

一、sizeof 介绍 sizeof 是 C 语言中的一个运算符&#xff0c;用于计算数据类型或变量在内存中占用的字节数。用于计算数据类型或变量所占的内存大小&#xff0c;以字节为单位。它可以在编译时计算其操作数的大小&#xff0c;并返回一个 size_t 类型的值。它可以帮助了解不同类…

WebGL 小白入门学习

1. WebGL是什么&#xff1f; WebGL&#xff08;Web Graphics Library&#xff09;是一种JavaScript API&#xff0c;它允许你在不需要安装任何额外插件的情况下&#xff0c;直接在浏览器中渲染高性能的2D和3D图形。WebGL利用了用户的图形处理单元&#xff08;GPU&#xff09;来…

统信桌面专业版【手动分区安装UOS系统】介绍

统信桌面专业版【手动分区安装UOS系统】介绍 全文导读功能概述准备环境安装步骤注意事项 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 全文导读 本文旨在详细介绍在安装UOS系统时采用手动分区的方法。虽然全盘安装通常是推荐的安装方式&…

实战篇:(四)Vue2 + Three.js 创建可交互的360度全景视图,可控制旋转、缩放完整代码

Vue2 Three.js 创建可交互的360度全景视图&#xff0c;可控制旋转、缩放 引言 在现代网页开发中&#xff0c;三维图形技术已经成为提升用户体验的重要工具。本文将展示如何使用 Three.js 创建一个简单的可交互360度全景视图。通过这一项目&#xff0c;你将能够学习到基本的场…