ubuntu系统下如何使用vscode编译和调试#小白入门#

news2024/12/24 8:17:36

编程环境:ubuntu系统为18.04.1,vscode版本为1.66.2

一、VSCode切换中文显示:

1、vscode安装完成后启动,在左侧externsions中搜索“简体中文”插件,并完成安装:
请添加图片描述
2、选择右下角齿轮形状的"Manage",选择第一项“command palette…“,
请添加图片描述
3、在右侧最上面输入栏选择"configure display language”,
请添加图片描述
4、选择下拉中的第二项“zh-cn”:
请添加图片描述
5、选择重新启动VSCode,切换到中文显示。
请添加图片描述

二、设置工作区

1、在本地任意目录创建一个test文件夹(我这里的目录为/home/l/projects/mytest),在vscode中选择“打开文件夹”,选择刚才新建的“mytest"文件夹:
请添加图片描述
2、在mytest目录下新建一个“hello.cpp"的文件,并编写一个main函数,向终端输出"hello world!":请添加图片描述

三、编译和调试的脚本配置

由于vscode只是一个代码编辑和查看工具,本身并不具备代码编译和调试功能,因此需要通过tasks.json 和launch.json脚本配置指令,调用本地已安装的编译器(如gcc或者g++等)实现编译和调试功能。

1、创建tasks.json。注意:在操作前,需要先选中"hello.cpp"文件(否则无法找到相应编译器),在最上面的菜单栏里选择“终端”,选择最后一项"配置默认生成任务",这里会列出已安装可用的编译器,这里我选择“C/C++:g++生成活动文件",创建tasks.json:
请添加图片描述
tasks.json里的参数配置一般情况下是不需要修改的:
在这里插入图片描述
2、创建launch.json。在左侧活动栏的“运行和调试”中,选择“创建launch.json文件”,会在当前工作区里自动生成一个launch.json文件;在"launch.json"文件中,选择右下角的“添加配置”,选择第一项“C/C++:(gdb)启动”,会自动按模板生成脚本:请添加图片描述3、修改launch.json。下图中,对比tasks.json和launch.json两个文件代码:
tasks.json代码里的参数一般情况下是不需要更改的,都是宏定义符,只需要更改launch.json。将launch.json代码模板的第11行注释掉,修改为图中第12行的格式,这样不管执行程序的名字是什么,能自动识别当前工作区编译生成的可执行程序;
同时在第19行增加一行代码,目的是在调用launch.json之前,先运行tasks.json中的配置命令"C/C++: g++ 生成活动文件",(也就是先进行编译工作), 图中标记的2 和3 地方的名称一定要保持一致
请添加图片描述关于tasks.json和launch.json文件参数的详细介绍可参考这两个文章:
VS Code上C++的环境配置&tasks.json和launch.json解析
vscode launch.json和task.json配置(重要参数详解)
4、选中"hello.cpp",然后选择“运行和调试”,点击上面的绿色三角(名字为(gdb)启动)(这个名字可以在launch.json中"name"参数那里修改),就会自动完成编译,生成执行程序hello,如何在代码里提前打了断点,就会停在断点处,这样就可以单步调试了:
在这里插入图片描述

说明:tasks.json和launch.json这些文件其实是在当前工作区的一个.vscode文件夹里,默认从文件系统里是看不到这个文件夹的,只能从vscode的资源管理器查看:
请添加图片描述

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

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

相关文章

记·汇编语言、C语言分别写并链接

电脑是64位的&#xff0c;汇编语言是AT&T风格。风格不同的汇编语言&#xff0c;汇编时的指令是不同的。在我学习过程中带来了挺多麻烦。 C语言内容。hello.c #include <stdio.h>//声明汇编编写的函数 extern void print_hello();int main() {// 调用汇编函数print_…

蓝桥杯真题Day40 倒计时19天 纯练题!

蓝桥杯第十三届省赛真题-统计子矩阵 题目描述 给定一个 N M 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 1 1&#xff0c;最大 N M) 满足子矩阵中所有数的和不超过给定的整数 K? 输入格式 第一行包含三个整数 N, M 和 K. 之后 N 行每行包含 M 个整数&#xf…

机器学习模型——KNN

KNN的基本概念&#xff1a; KNN(K-Nearest Neighbor)就是k个最近的邻居的意思&#xff0c;即每个样本都可以用它最接近的k个邻居来代表。KNN常用来处理分类问题&#xff0c;但也可以用来处理回归问题。 核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某…

好物视频素材哪里找,下面推荐几个好用给大家

想要创作出精彩的好物视频&#xff0c;离不开优质的素材。在这里&#xff0c;我将介绍一些提供免费好物视频素材的网站&#xff0c;让你轻松找到所需素材。 首先&#xff0c;蛙学网&#xff08;https://www.waxuewang.com&#xff09;是一个提供高质量视频素材的网站&#xff…

Redis面试题-缓存雪崩、缓存穿透、缓存击穿问题

1 穿透: 两边都不存在&#xff08;皇帝的新装&#xff09; &#xff08;黑名单&#xff09; &#xff08;布隆过滤器&#xff09; 2 击穿&#xff1a;一个热点的key失效了&#xff0c;这时大量的并发请求直接到达数据库. &#xff08;提前预热&#xff09; 3 雪崩&#xff1a…

好物视频素材库免费下载去哪找?

你是不是在找抖音好物视频素材库免费的网站&#xff0c;可是不知道哪儿能找到&#xff1f;别急&#xff0c;我来给你推荐几个网站&#xff0c;保证让你找到满意的素材&#xff01; 首先&#xff0c;蛙学网&#xff08;https://www.waxuewang.com&#xff09;是一个提供高质量视…

电子价签通信协议解析:蓝牙5.0有何优势?

电子价签是一种新型的零售显示技术&#xff0c;它可以实时更新商品价格、促销信息等内容&#xff0c;为消费者提供更加便捷的购物体验。电子价签的通信协议是决定其性能的关键因素之一&#xff0c;而蓝牙5.0则是目前相对更适合电子价签的通信协议。 电子价签的工作模式 以云…

Notepad++:格式化json字符串(带转义)

目录 一、效果呈现 二、去除json字符串转义 三、格式化json字符串 一、效果呈现 格式化前 带字符串转义&#xff0c;带unicode编码字符 格式化后 二、去除json字符串转义 方法&#xff1a;采用Notepad的普通替换 第一&#xff1a;\"替换为" 第二&#xff1a;\\…

智能算法-遗传算法 学习笔记

适应度的计算可类别为神经网络的目标函数&#xff0c;但此算法属于无监督学习&#xff0c;宏观来讲为搜寻最优解&#xff08;梯度&#xff09;的方式不同&#xff1f; 但神经网络中好像并不存在变异操作&#xff08;参数矩阵突变&#xff09;&#xff1f; 交叉的话残差网络ResN…

第一性原理计算代码可使用1个月有效期,龙讯旷腾PWmat

龙讯旷腾系列产品正在陆续入驻国家超算互联网&#xff08;https://www.scnet.cn&#xff09;&#xff0c;有自己的网上商城了&#xff01;PWmat&#xff08;如果您喜欢命令行&#xff09;以及Q-FlowPWmat组合产品&#xff08;如果您喜欢用可视化工作流提交任务&#xff09;&…

iOS网络抓包工具全解析

摘要 本文将深入探讨iOS平台上常用的网络抓包工具&#xff0c;包括Charles、克魔助手、Thor和Http Catcher&#xff0c;以及通过SSH连接进行抓包的方法。此外&#xff0c;还介绍了克魔开发助手作为iOS应用开发的辅助工具&#xff0c;提供的全方面性能监控和调试功能。 在iOS应…

nodejs中使用WebScoket的简单示例

前言 WebScoket可以用来实现即时通信,一般用于通信聊天工具或者是需要实时接受数据等功能 在浏览器环境中,WebScoket是一个构造函数,需要new创建连接的实例; 在nodejs环境中,则需要使用ws模块来完成服务的创建。 示例 下面是可以直接使用的代码,不需要修改 node创建服务端…

31-3 文件包含漏洞 - 文件包含漏洞利用(CVE-2021-3019:Lanproxy 任意文件读取漏洞复现)

一、Lanproxy简介: lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持TCP流量转发,可支持任何TCP上层协议(访问内网网站、本地支付接口调试、SSH访问、远程桌面等)。 二、漏洞概述: Lanproxy1.0 版本存在目录遍历漏洞,可通过绕过路径限制(../)来…

手游行业如何做好软文推广?媒介盒子揭秘

随着各方面消费持续复苏&#xff0c;手游行业也在逐渐回暖&#xff0c;为了宣传游戏特色和积累游戏热度&#xff0c;很多运营商都会在各大平台投放软文。然而有许多商家在软文投放时只关注数量 不关注质量&#xff0c;导致软文效果不是很好。今天媒介盒子就来和大家聊聊&#x…

机器学习 | 期望最大化(EM)算法介绍和实现

在现实世界的机器学习应用中&#xff0c;通常有许多相关的特征&#xff0c;但只有其中的一个子集是可观察的。当处理有时可观察而有时不可观察的变量时&#xff0c;确实可以利用该变量可见或可观察的实例&#xff0c;以便学习和预测不可观察的实例。这种方法通常被称为处理缺失…

【C++】手撕哈希表的闭散列和开散列

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;手撕哈希表的闭散列和开散列 > 毒鸡汤&#xff1a;谁不是一边受伤&#xff0c;一边学会坚强。 > 专栏选自&#xff1a;C嘎嘎进阶 > 望小伙伴们…

全国超市数据可视化仪表板制作

全国超市消费数据展示 指定 Top几 客户销费数据展示 指定 Top几 省份销费数据展示 省份销售额数据分析 完整结果

蓝牙耳机哪个品牌质量最好最耐用?购前必读的高热度机型指南!

​面对市场上众多不同场景使用的蓝牙耳机&#xff0c;我们该如何选择呢&#xff1f;我们最怕遇到耳机延迟高、不防水防汗、音质差以及佩戴体验差的问题。针对这些常见问题&#xff0c;我这次精选了五款市面上热销且质量不错的蓝牙耳机分享给大家&#xff0c;让我们一起来看看吧…

当当狸智能激光雕刻机 多种材质自由雕刻,轻松打造独一无二的作品

提及“激光雕刻”&#xff0c;大多数人的印象一般都是&#xff1a;笨重巨大、价格昂贵、操作复杂、使用门槛较高、调试难度大...不是普通人能够随意操作的&#xff0c;让人望尘莫及。 而小米有品上新的这台「当当狸桌面智能激光雕刻机L1」&#xff0c;将超乎你的想象&#xff…

【unity】如何汉化unity编译器

在【unity】如何汉化unity Hub这篇文章中&#xff0c;我们已经完成了unity Hub的汉化&#xff0c;现在让我们对unity Hub安装的编译器也进行下汉化处理。 第一步&#xff1a;在unity Hub软件左侧栏目中点击安装&#xff0c;选择需要汉化的编译器&#xff0c;再点击设置图片按钮…