VS Code打造Rust的开发环境

news2024/11/18 9:33:26

文章目录

    • rust-analyzer
    • CodeLLDB

Rust据说是一门永远也不会发生内存错误的语言,并且因其反人类的学习曲线,而长期占据编程鄙视链的最顶端。而且就连微软都准备把Windows挪到Rust上面,可见其受欢迎程度。

rust-analyzer

在插件栏中直接搜索rust-analyzer并下载,其图标很诡异,左上角一个r,右下角一个a,所以后文称之为ra。

ra针对rust语言主要提供了如下功能

  • 代码补全
  • 定义跳转
  • 语句查询
  • 悬停时显示文档
  • 类型提示
  • 语法高亮
  • ……

但这么多功能中,并不提供rust的编译器,所以需要从官网下载。下载rustup-init并运行之后,会打开命令行,选1默认安装,然后不出意外就安装完了。

安装成功之后,可以新建一个rust项目,然后用code打开相应的文件夹

cargo new --bin hello
code hello

进入VS Code后,将鼠标放入任何一个语句中,前方都会出现一个小灯泡,点击之后,就会弹出建议插入的代码。当然,由于新建的项目过于简单,所以ra提供的建议并没有体现出价值。但是,如果再写一点东西,类似下面这样,就会感受到ra的强大。

在这里插入图片描述

此外,按下F1,并输入rust-analyzer,选择View Crate Graph,可以查看项目的依赖关系,如图所示

在这里插入图片描述

此外,rs文件中的右键菜单也被重新定制,支持转到定义、转到声明等功能。如果想追查某个函数的定义,也可以在按下Ctrl的同时,单击某个函数名。比如按下Ctrl,单击println!函数,VS Code就会打开macros.rs文件,便可以看到这个打印函数的实现方式了。

CodeLLDB

ra安装之后,我们就发现,main函数上方也出现了一个Run|Debug的标识,二者均可点击运行。然而ra虽然很强大,但并没有提供debug功能,为了可以更加便捷地定位错误,可安装CodeLLDB插件,这个插件提供了C++和rust这两种语言的调试工具,包括断点调试以及内存分析等。

安装成功之后,按下F1,选择debug,ra会自动调用CodeLLDB来进行调试,同时右下角会弹出Acquiring CodeLLDB platform package的提示。

如果报错了,不要慌,会出现在浏览器中打开下载链接的按钮,点击后会下载一个vsix格式的插件。下载完成后,按下F1,输入install from vsix,选中刚刚下载的文件。然后重启VS Code。

至此,万事俱备,只需设一个断点,就可以执行debug命令了,执行效果如下,左侧也出现了变量区,只是我们的程序过于简单,并没有变量。

在这里插入图片描述

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

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

相关文章

科特迪瓦市场开发攻略,收藏一篇就够了

科特迪瓦是非洲西部的一个国家,被誉为西非明珠,跟中国经济联系紧密,很多产品依赖进口,市场潜力比较大。今天就来给大家介绍一下科特迪瓦的市场开发攻略,文章略长,大家点赞收藏关注慢慢看。 文章目录&#…

ssm+vue的物流配送管理系统(有报告)。Javaee项目,ssm vue前后端分离项目

演示视频: ssmvue的物流配送管理系统(有报告)。Javaee项目,ssm vue前后端分离项目 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介…

文心生物计算大模型重磅升级,构象预测准确度全面提升!

文心生物计算大模型家族又迎来了重磅的升级:蛋白质-小分子对接构象预测模型HelixDock,以及蛋白-蛋白复合物结构预测模型HelixFold-Multimer准确度全面提升。这两项新技术可以大幅提升蛋白质-小分子的对接构象及蛋白-蛋白复合物结构预测的精度&#xff0c…

arcgis--创建多分辨率DEM

方法一:技术链为【栅格转点】-【创建TIN】-【TIN转栅格】。首先需要将栅格转成点数据,再根据点数据创建TIN,再将TIN转栅格。 1、打开一幅DEM影像图,如下: 在【转换工具】-【由栅格转出】 -【栅格转点】工具中&#xf…

VMware 安装CentOS7

一、软件准备 VMware 虚拟机安装 官网下载链接:VMware pro 17 下载链接 下载 VMware Workstation Pro | CN vm安装教学就不在细说,纯傻瓜式安装 Centos 7镜像文件下载 下载地址: Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua O…

mq具体使用方式

代码方式 第一步方式导入依赖的方式 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--AMQP依赖&#xff0c;包含RabbitMQ--><…

2023年10月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2023年10月国产数据库大事件和重要产品发布消息。 目录 10月国产数据库大事记 TOP1010月国产数据库大事记&#xff08;时间线&#xff09;产品/版本发布兼容认证代表厂商大事记厂商活动排行榜新增数据库相关资料 10月国产数据库大事记 TOP10 10月国产…

数据结构-时间复杂度与空间复杂度详解

文章目录 算法效率时间复杂度概念计算例1例2例3补充例4 空间复杂度例1例2 算法效率 算法效率分析分为两种:第一种是时间效率&#xff0c;第二种是空间效率。时间效率被称为时间复杂度&#xff0c;而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度&#…

卡尔曼滤波器第 2 部分 - 贝叶斯滤波器

一、说明 这是卡尔曼滤波器系列的第二部分&#xff0c;我们在概念和代码方面对卡尔曼滤波器进行了基于示例的理解。在第一部分中&#xff0c;我们对卡尔曼滤波器有了直观的理解&#xff0c;然后是基于数值的 Alpha-Beta 滤波器&#xff08;构成卡尔曼滤波器的基础&#xff09;的…

云服务器如何选?腾讯云2核2G3M云服务器88元一年!

作为一名程序员&#xff0c;在选择云服务器时&#xff0c;我们需要关注几个要点&#xff1a;网络稳定性、价格以及云服务商的规模。这些要素将直接影响到我们的使用体验和成本效益。接下来&#xff0c;我将为大家推荐一款性价比较高的轻应用云服务器。 腾讯云双11活动 腾讯云…

PC6410 DC-DC降压调整器低纹波高效率低功耗

PC6410是一款由基准电压源、振荡电路、比较器、PWM/PFM 控制电路等构成的CMOS降压DC/DC调整器。利用PWM/PFM自动切换控制电路达到可调占空比&#xff0c;具有全输入电压范围内的低纹波、高效率和大输出电流等特点。PC6410内置功率MOSFET&#xff0c;使用过压、过流、过热、短路…

AM335x USB Boot详细说明

首先&#xff0c;要rev2.1的芯片才支持&#xff0c;以前的cpu有bug&#xff0c;无法使用usb boot 上位机需要uniflash&#xff0c; 以太网上截取的报文&#xff0c;可以进入第一阶段 AM335x自动从c:\am335x_flashtool\images目录下下载u-boot-spl-restore.bin http://process…

3ds Max渲染用专业显卡还是游戏显卡?

使用3dsmax建模时&#xff0c;会面临诸多选择&#xff0c;除了用vr还是cr的决策&#xff0c;硬件选择上也存在着疑问&#xff0c;比如用专业显卡还是消费级游戏显卡&#xff1f;一般来说&#xff0c;除非是特别专业的大型项目和软件&#xff0c;且预算在5位数以上&#xff0c;常…

ssm047网上服装销售系统+jsp

ssm047网上服装销售系统jsp 交流学习&#xff1a; 更多项目&#xff1a; 全网最全的Java成品项目列表 https://docs.qq.com/doc/DUXdsVlhIdVlsemdX 演示 项目功能演示&#xff1a; ————————————————

spring cloud之服务熔断

四、Hystrix组件(*) - 官网&#xff1a;https://github.com/Netflix/Hystrix - 在分布式环境中&#xff0c;许多服务依赖项不可避免的会失败。Hystrix是一个库&#xff0c;它通过添加延迟容忍和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点…

【【OpenCV实现图像:用OpenCV进行模板匹配】

文章目录 概要整体架构流程图像灰度化结论 概要 模板匹配是一种在图像处理领域广泛应用的技术&#xff0c;旨在寻找目标模板在源图像中的位置。该算法的核心思想是通过比较模板与源图像的局部区域&#xff0c;逐像素滑动&#xff0c;创建一个相似度图&#xff0c;反映了模板与…

【React】Redux基本使用

什么情况使用 Redux &#xff1f; Redux 适用于多交互、多数据源的场景。简单理解就是复杂 从组件角度去考虑的话&#xff0c;当我们有以下的应用场景时&#xff0c;我们可以尝试采用 Redux 来实现 某个组件的状态需要共享时 一个组件需要改变其他组件的状态时 一个组件需要…

sqli-labs(Less-2)

1.进入环境就是这样的界面 2. id1 and 11 页面返回正常 3. id1 and 12 页面显示不正常 由此可确实是数字型注入 4. 使用 order by 语句进行字段查询 说明页面存在三个字段 5. 使用联合查询 union select 6. 查询当前数据库的所有表 7. 查询某表的所有字段名 8. 查用户…

Linux信号量以及基于环形队列的生产者消费者模型

文章目录 信号量信号量的接口初始化销毁等待信号量发布信号量 环形队列结合信号量设计模型 实现基于环形队列的生产者消费者模型Task.hppRingQueue.hppmain.cc效果对于多生产多消费的情况 信号量 信号量的本质是一个计数器 首先一份公共资源在实际情况中可能存在不同的线程可…

关于修改了mysql的my_conf文件之后,不能生效问题

个人名片&#xff1a; &#x1f405;作者简介&#xff1a;一名大三在校生&#xff0c;热爱生活&#xff0c;爱好敲码&#xff01; \ &#x1f485;个人主页 &#x1f947;&#xff1a;holy-wangle ➡系列内容&#xff1a; &#x1f5bc;️ tkinter前端窗口界面创建与优化 &…