VS Code打造Rust的开发环境

文章目录

    • 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.hqwc.cn/news/176694.html

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

相关文章

toLocaleString()将数字格式化为带有千分位分隔符的字符串‘1,234,567‘

1、toLocaleString():将数字格式化为带有千分位分隔符的字符串 2、使用 toLocaleString() 将数字转为百分比 var a 1; console.log(a.toLocaleString(zh,{style:percent})) var b 10; console.log(b.toLocaleString(zh,{style:percent})) var c 2; console.log(…

ChatGPT 如何改变科研之路

《Nature》全球博士后调查[1]中约有三分之一的受访者正在使用人工智能聊天机器人来帮助完善文本、生成或编辑代码、整理其领域的文献等等。 来自巴西的 Rafael Bretas 在日本生活了十多年,日语说得很好。书面日语的各个方面,例如严格的礼貌等级制度&…

HarmonyOS应用开发者高级认证(88分答案)

看好选择题,每个2分多答对2个刚好88分,祝你顺利。 其它帮扶选择题。 一、判断 只要使用端云一体化的云端资源就需要支付费用(错)所有使用Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期…

【数据结构 | 链表】leetcode 2. 两数相加

个人主页:兜里游客棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里游客棉花糖 原创 收录于专栏【LeetCode】 原题链接:点击直接跳转到该题目 目录 题目描述解题代码 题目描述 给你两个 非空 的链表,表示两个非…

Git 修改历史 commit message

一. 修改最新的 commit log 修改最近一次commit message, 直接使用命令 git commit --amend 就可以完成修改二. 修改历史 commit log 查看日志(按 q 退出) git log --oneline # 查看5步的log。 git log --oneline -5选择要修改的commit 信息 # 要修改的 commit log…

内衣洗衣机和手洗哪个干净?小型洗衣机全自动

随着内衣洗衣机的流行,很多小伙伴在纠结该不该入手一款内衣洗衣机,专门来洗一些贴身衣物,答案是非常有必要的,因为我们现在市面上的大型洗衣机只能做清洁,无法对我们的贴身衣物进行一个高强度的清洁,而小小…

绿茵场上洒汗水,激情飞扬现活力——碧桂园社区足球课堂开课啦

“伙伴计划”是由共青团中央发起实施,中央专项彩票公益金提供支持,面向社区青少年开展的一项示范性服务项目。实施这个项目的主要目的是针对青少年在成长过程中遇到的实际困难和普遍性需求,开展“团团活力圈”青少年身心健康提升服务&#xf…

私有云边界网络部署实践

业务背景 在私有云的业务场景中,常见的通信中包含了同VPC内虚机互访、不同VPC之间的虚机互访、VPC访问Underlay资源、VPC访问Internet资源、VPC提供服务,被Internet访问、VPC与专线网络之间互访等;实际应用中,大多数云业务通信场…

会议邀请 | 思腾合力邀您共赴第二十五届高交会(CHTF2023)

2023年11月15-19日,以“激发创新活力 提升发展质量”为主题的「第二十五届中国国际高新技术成果交易会(CHTF2023)」将在深圳会展中心(福田)和深圳国际会展中心(宝安)举办。思腾合力作为行业领先…

设备数据如何为预测性维护提供支持

预测性维护是现代制造业中一种高效而受欢迎的维护策略,它能够帮助企业提前发现设备故障的早期迹象,并采取相应措施,从而避免生产线的停机和生产效率的下降。实施预测性维护的关键在于充分利用设备数据,通过数据的收集、处理和分析…

Python机器学习基础(三)---数据预处理

一.数据预处理作用 数据预处理会将选定的数据转换为我们可以使用的形式或可以提供给ML算法的形式,以使其符合机器学习算法的期望。 二.数据处理的常用方法 1.规范化 数据规范化是使属性数据按比例缩放,这样就将原来的数值映射到一个新的特定区域中&#…