发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

JetBrains 宣布官方支持 Rust 插件

  • 2017-08-07
  • 本文字数:997 字

    阅读完需:约 3 分钟

7 月 31 号,Rust 社区就已非正式声称 JetBrains 开始官方支持 Rust 插件,不过不再支持 2016.3 版本的 IDEA,受支持的 IDEA 最小版本为 2017.1。8 月 4 号,JetBrains 官方博客正式宣布开始官方支持 Rust 插件,包括 IDEA、CLion 等 IntelliJ 平台 IDE。

目前,Rust 插件的主要特性如下。

  • 导航特性:Go to Class、Go to Symbol、Go to Super Module、Structure、Go to Definition。
  • 编辑器特性:代码自动完成、格式化(计划支持 rustfmt)、合并行、智能按键(如自动插入匹配的符号)、自动填充后缀、基本的 Intention 和重构(如引入变量、重命名等)。
  • 支持 Cargo,提供了一个 UI 用于运行测试用例和应用程序,不过这要求在 Cargo 端进行一些配置。

Rust 插件诞生还不到两年时间,还有很多不足之处。Rust 这门语言本身对 IDE 并不友好,比如它复杂的类型系统、宏特性等,导致 IDE 无法百分之百友好地支持它。目前最缺的是调试器,虽然在 CLion 上已经有一个实验性质的调试器,但功能很有限,因为它严重依赖 CMake。JetBrains 计划在不久的将来能够尽快解决这些问题,包括与 Rust 类型系统保持一致、支持宏特性、提供调试器,并提供更多的 Intention、审查、重构功能。

2015 年 9 月 1 号,JetBrains 内部就已启动了两个项目,在 IntelliJ 平台 IDE 上支持 Rust。其中一个项目是由实习生 Alexey Kladov 主导的,另一个则是由 Alexey Kudinkin 主导的附带项目。这两个项目都是基于 JVM,都使用了 Kotlin 进行开发,而且是在 Kotlin 正式发布之前。一个月后,两个项目合并,Rust 插件这才正式诞生。一年前,Rust 插件还在 RustConf 大会上亮过相。

Rust 插件是一个开源项目,吸引了一批优秀的开发人员加入,包括 Tobias Bieniek Marek Kaput Andrew Lygin Arseniy Pendryak 等人。Alexey Kladov 作为主要负责人,会花 40% 的时间在项目上。另外,JetBrains 官方承若会有另外一个开发人员会加入。

JetBrains 目前并没有计划要为 Rust 推出一个单独的 IDE,不过这并不代表未来也不会。Rust 插件会一直在 GitHub 上开源,欢迎感兴趣的人加入或者提供反馈。如果有人想在 IntelliJ 平台 IDE(IDEA、CLion、WebStorm、Gogland、PyCharm 等)上尝试使用 Rust 插件,可以参考相关文档


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-07 19:005405
用户头像

发布了 322 篇内容, 共 133.6 次阅读, 收获喜欢 142 次。

关注

评论

发布
暂无评论
发现更多内容

面试官竟然问我订单ID是怎么生成的?难道不是MySQL自增主键?

一灯架构

Java 10月月更

一篇文章讲清楚MySQL的聚簇/联合/覆盖索引、回表、索引下推

一灯架构

Java 10月月更

Vue组件入门(十一)$attrs

Augus

Vue 3 10月月更

c++11基础

雪芙花

c c++ 10月月更

feign client客户端的自动装配

急需上岸的小谢

10月月更

docker学习笔记(三)

Studying_swz

10月月更

“程”风破浪的开发者|OpenHarmony设备开发之路【01】-helloword

坚果

OpenHarmony 10月月更 “程”风破浪的开发者

Java基础(九)| ArrayList详解与应用

timerring

Java ArrayList 10月月更

“程”风破浪的开发者|国产数据库---达梦应用技巧及使用案例

攻城狮Wayne

数据库 学习方法 “程”风破浪的开发者

“程”风破浪的开发者|Web3.0是什么?带你解析Web3.0

攻城狮Wayne

Web3.0 “程”风破浪的开发者 Web2.0

过去几个月,他们把数字化融进了中国经济的毛细血管

脑极体

进制转换、原码、反码、补码及位运算详解

夏志121

Java 后端 进制转换 10月月更

java多线程总结

Studying_swz

Java 10月月更

“程”风破浪的开发者|Web3.0

六月的雨在InfoQ

Web3.0 10月月更 “程”风破浪的开发者 Web1.0 Web2.0

Feign的两个调用处理器

急需上岸的小谢

10月月更

长安链源码分析之网络模块 net-liquid(11)

Excel 的基本概念以及 Excel 文件的创建

攻城狮Wayne

Python Excel 10月月更

docker学习笔记(四)

Studying_swz

Docker 10月月更

RxJava的操作符

急需上岸的小谢

10月月更

详解CAN总线:CAN总线故障界定与管理

不脱发的程序猿

汽车电子 CAN总线 CAN总线故障界定 CAN错误故障诊断

c++11面试宝典(final,delete,deault,explicit,lambda表达式)

雪芙花

c c++ 10月月更

Web3.0 杂谈 -#007(54/100)

hackstoic

Web3.0

MySQL索引底层为什么用B+树?看完这篇文章,轻松应对面试

一灯架构

Java 10月月更

长安链源码分析之网络模块 net-liquid(8)

长安链源码分析之网络模块 net-liquid(9)

【Java深入学习】一个关于“锁”的程序-中

Geek_65222d

10月月更

【愚公系列】2022年10月 Go教学课程 034-接口和多态

愚公搬代码

10月月更

“程”风破浪的开发者|Web 1.0、Web 2.0 和 Web 3.0 之间的比较

海拥(haiyong.site)

Web3.0 “程”风破浪的开发者

“程”风破浪的开发者|OpenHarmony短信登录及倒计时实现

坚果

OpenHarmony 10月月更 “程”风破浪的开发者

Glibc-scratch_buffer的源码分析

桑榆

源码刨析 10月月更 C++

长安链源码分析之网络模块 net-liquid(10)

JetBrains宣布官方支持Rust插件_语言 & 开发_薛命灯_InfoQ精选文章