当前位置:首页 > 文章列表 > 文章 > 软件教程 > Rust-开发环境-开发三年我从VSCode转到了RustRover

Rust-开发环境-开发三年我从VSCode转到了RustRover

2026-08-20 22:11:32 0浏览 收藏

前言

博主在最近的开发过程当中由于一些原因尝试使用了RustRover。在最一开始,我还在VSCode和RustRover混着使用,而到后来就常驻在RustRover了。本文主要介绍下RustRover这款由JetBrains开发的Rust专用IDE,并且阐述为什么博主将工作环境由VSCode转到RustRover。

什么是RustRover

JetBrains自2000年成立以来,旗下产品很多开发者基本都不陌生。无论是面向 Ja va 的 IDEA、面向 Python 的 PyCharm,还是 C/C++ 开发常用的 CLion,都积累了相当高的人气,另外像 WebStorm、GoLand 等产品也同样有不少拥趸。至于 RustRover,则是 JetBrains 专门为 Rust 语言推出的一款 IDE,支持代码补全、自动添加依赖,以及运行、调试、测试等一整套能力。对于已经习惯 JetBrains 全家桶的开发者来说,这套界面和交互上手起来也会格外顺手。

RustRover可以通过上下文感知来进行代码补全,同时支持快速修复、智能重构等功能。

支持快速修复、以及自动添加所需的crate到依赖项列表。

支持显示宏展开,快速访问语言和crate文档,以及“JetBrains式”的搜索功能。

成熟的运行、调试、测试和分析代码界面。

成熟的项目管理以及依赖项管理功能。

Rust IDE的发展历程

对大多数Rust开发者来说,最早上手的IDE往往都是VSCode。它对Rust的支持并不是原生内置的,而是主要依赖社区持续维护的扩展来完成。比如更早一阶段常见的 Rust for Visual Studio Code,再到现在几乎成了主流选择的 Rust Analyzer,都为开发过程补上了相当完整的一套能力:代码补全、定义跳转、类型显示、符号搜索、快速修复,以及测试和编译等功能,基本都覆盖到了。

2023年9月,VSCode + Rust Analyzer的地位出现了新的挑战者。JetBrains正式推出RustRover,最初发布时,其还存在一些功能局限,且只有单一的商业订阅选项。2024.2版本的更新则是一个重要的里程碑,根据社区的反馈建议,其引入了对Web前端技术和数据库的支持,极大扩展了应用范围。同时提供了个人商业用途和组织商业用途选项,降低了开发者的使用成本。此外,该版本还支持了简体中文UI、代码补全等功能。后续包括fmt等功能的持续改进,使得越来越多的开发者开始关注RustRover。

转向RustRover的契机

最近,我将我的项目开发环境已经基本转为了RustRover。在此之前,由于长期在写C、Rust的项目,我一直是坚定(?)的VSCoder。直到最近,我突然出现了一起诡异的开发卡点:在一个复杂项目里,我新增的依赖项无法被Rust Analyzer索引到了。不知道大家有没有经历过这么一个崩溃的瞬间,你无论敲出这个依赖项的任何一个函数或者结构体,你都无法使用代码补全功能,也无法被Rust Analyzer正确推理出当前由这个依赖项函数所返回的类型,这一刻我像突然不知道怎么走路。

这时我突然想到可以使用RustRover试试。由于博主入职新公司,换了一个mac的开发机,这台新电脑还没有装过RustRover。在以前,我也偶尔会使用IDEA来写Rust,其实是一个很奇妙的事情,不过我非常喜欢其帮忙分析重复项代码、以及智能重构的功能。因此我之前在主力使用VSCode时,偶尔也会使用JetBrains系IDE来帮忙分析我的Rust代码。而这次纯粹是死马当活马医了。没想到的是,使用RustRover非常顺利的索引到了依赖项,这使得我又可以再次骑上快马,写好代码。

投向RustRover的怀抱

在之后,我不得不开始审视我应该选择哪个IDE来进行我后续的开发工作。不得不这么做的原因是IDE真的会吃掉非常大的内存,无论是Rust Analyzer还是RustRover,内存的占用都是以GB为单位的。我们简单比较下VSCode和RustRover的区别。

VScode. VS RustRover

维度VSCodeRustRover
定位轻量级编辑器,依赖扩展专业 IDE,集成全功能
性能轻量高效,适合低配设备重型应用,对硬件要求高
功能完整性基础功能足够,高级功能需插件补充内置完整功能,支持 Rust 特性可视化
扩展性社区扩展丰富,高度自定义官方插件为主,扩展性较弱
价格完全免费非商业免费,商业需付费
适合场景个人开发、开源项目、轻量需求企业开发、复杂项目、追求效率
学习成本低(界面简洁,配置灵活)高(功能复杂,需适应 IntelliJ 体系)

VSCode本身被开发者们还是定义为轻量级编辑器,扩展由你自由选择。这样的好处就是,当你不需要太多插件功能时,你能够轻量的开发并运行你的IDE,你可以进行随意组合。但是坏处就是有时把这些插件全都加上,我觉得会变得更加的笨重。同时作为插件扩展,无法像RustRover一样,能够有更深入定制化的功能融合。但同时,RustRover的功能完整性,也导致RustRover即使你在开发小型项目时,也得吃你那么多的内存,有更高的硬件性能要求。

我最终选择了RustRover,综上来说,当前我的开发机能够支持我运行RustRover,同时我的项目比较复杂,我无法接受Rust Analyzer有时候的这种不确定性(刚刚提到的事故,我其实碰到过2次以上)。另外RustRover还有吸引我的地方,其实前面也有提到:

  1. 代码分析:可以实时帮你分析重复的代码段,对于无情重构选手来说非常有益;
  2. 智能重构:选中某一代码段,可以自动帮你重构为一个方法。因为我是无情重构选手;
  3. 依赖项管理:可以自动添加依赖项这个功能说实话只能算锦上添花,不过当时第一次用到这个功能的时候还是有小惊喜在的。而最好用的功能应该是无用依赖项分析的这个能力。如果是VSCode,你可能需要额外去安装工具来进行分析。
  4. 成熟的Rust IDE界面:比如鼠标悬浮自动显示宏展开(VSCode你得打开执行面板),覆盖率分析视图等等。甚至扩展插件在RustRover中也有VSCode不一样的UI适配等小惊喜。

没有银弹

RustRover并非是当前Rust IDE的最佳方案,例如前面所说,它可能会吃掉你环境更多的内存。同时一些VSCode会遇到的问题,在RustRover中也会遇到,例如有时候无法正确识别build的out_dir路径,调试时无法正确的停留在断点处,代码分析也时常会误报等等,这些仍然是Rust IDE仍然可以优化的空间(别吃那么多硬件资源也是好的)。还有,像自动添加依赖项这个有些炫技的小技巧,也仅支持“流行的”crate,其实也说明了RustRover的一些功能也并非是万能好用的。

结语

这就是本篇内容的所有分享,分享此篇主要还是希望能够让更多开发者了解到,Rust IDE已经并非只有VSCode + Rust Analyzer这一套开发方案。RustRover发展至今已经足够好用,并且在一些场景可能更适合你当前正在开发的项目。如果有对上述提到的RustRover中的一些优点感兴趣的朋友,不妨尝试使用起来:)Rust IDE到目前也还是有极大发展的空间,希望开发生态能够越来越好,让更多开发者享受到便利。

用Rust+AI花了两个月时间写了BTC量化系统用Rust+AI花了两个月时间写了BTC量化系统
上一篇
用Rust+AI花了两个月时间写了BTC量化系统
Dioxus 中的数据获取
下一篇
Dioxus 中的数据获取
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    5037次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4573次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4518次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4779次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4730次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码