NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:005435
用户头像

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

关注

评论

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

【LeetCode】合并两个排序的链表Java题解

Albert

算法 LeetCode 8月日更

手撸二叉树之单值二叉树

HelloWorld杰少

数据结构与算法 8月日更

Compose 中的文字

Changing Lin

8月日更

如何请求一个需要登陆才能访问的接口(基于cookie)——apipost

Proud lion

大前端 后端 Postman Cookie 接口工

抖音快手智能获客黑科技软件系统开发费用

LT浏览器——响应式网站测试利器

FunTester

性能测试 自动化测试 web测试 兼容性测试 测试报告

业内首发!腾讯位置服务推出移动端3D数据可视化图层

JVM集合之类加载子系统

阿Q说代码

JVM 加载 类加载器 双亲委派 8月日更

spring 大事务

Rubble

8月日更

低代码:时代的选择

华为云开发者联盟

云计算 软件开发 低代码 硬件 IT系统

架构实战营第一期 -- 模块五作业

clay

架构实战营

面试官:你说说一条更新SQL的执行过程?

艾小仙

AI 场景的存储优化之路

焱融科技

人工智能 云计算 AI 分布式 高性能

波场链DAPP开发|波场链TRONCHAIN介绍

Geek_23f0c3

DAPP智能合约交易系统开发 波场链DAPP开发 tronchainDAPP

抖音快手短视频获客系统软件开发

Python代码阅读(第12篇):初始化二维数组

Felix

Python 编程 Code Programing 阅读代码

AI+云原生,把卫星遥感虐的死去活来

华为云开发者联盟

AI 容器 云原生 k8s 遥感影像

前端,测试如何修改后端接口返回的响应数据

CodeNongXiaoW

项目管理 大前端 测试 后端 接口管理工具

有效管理数据安全性—— Pulsar Schema 管理

Apache Pulsar

Apache Pulsar StreamNative schema

Apache HBase MTTR 优化实践:减少恢复时长

华为云开发者联盟

Apache hadoop zookeeper HBase MapReduce服务

2分钟玩转中文接口测试工具-ApiPost

CodeNongXiaoW

项目管理 大前端 测试 后端

JS对象拷贝:深拷贝和浅拷贝

华为云开发者联盟

js 对象 对象拷贝 深拷贝 浅拷贝

Go 语言,一文彻底搞懂 slice 实现原理

微客鸟窝

Go 语言 8月日更

抖音快手短视频智能询盘获客系统软件开发介绍

Java筑基 - JNI到底是个啥

码农参上

Java jni 8月日更

接口测试--apipost如何自定义变量

与风逐梦

软件测试 接口测试

MySQL 系列教程之(七)DQL:从 select 开始

若尘

MySQL 数据库 8月日更

Regan Yue带你一起学习微软AZ-900认证的有关知识「 第IV章」

Regan Yue

云计算 微软 8月日更 微软认证

vue入门:http客户端axios

小鲍侃java

8月日更

netty系列之:自定义编码和解码器要注意的问题

程序那些事

Java Netty 程序那些事

摄影利器一加9 Pro,让你轻松成为手机摄影师

Geek_8a195c

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