写点什么

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

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

关注

评论

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

甲方日常 74

句子

工作 随笔杂谈 日常

数字之暖:鹅厂云原生的“新路”与“历承”

脑极体

90%的程序员,都没用过多线程和锁,怎么成为架构师?

小傅哥

程序员 小傅哥 线程池 架构师 七日更

微警务平台搭建,智慧警务系统开发解决方案

t13823115967

智慧警务系统开发 微警务

合约交易系统开发软件定制

简析5G时代的MART流处理

VoltDB

数据库 5G

金瓯无缺江河一统|Win10系统基于Docker和Python3搭建并维护统一认证系统OpenLdap

刘悦的技术博客

Python TCP ldap openldap 统一管理

新思科技:2021年软件安全行业六大趋势预测

InfoQ_434670063458

执子之手,与子长安:探秘华为运动健康实验室

脑极体

区块链商品溯源解决方案,区块链全程追溯系统

13530558032

云原生应用开发框架Quarkus介绍

gaolk

云原生 Quarkus

规划算法

田维常

算法

iOS面试基础知识 (五)

iOSer

ios 面试 底层知识

生产环境全链路压测建设历程 19:某快递 A 股上市公司的生产压测案例之下篇

数列科技杨德华

全链路压测 七日更

MySQL用户与权限管理指南

Simon

MySQL 用户权限 七日更

week5 conclusion 分布式缓存架构+消息队列

J

极客大学架构师训练营

平安社区平台解决方案,智慧社区管理服务平台搭建

13530558032

花火交易所系统开发|花火交易所软件APP开发

系统开发

便民服务多元化,智慧平安小区安防智能化建设

t13823115967

智慧城市

25道mybatis面试题,不要说你不会

田维常

mybatis

盘点2020 | 所思、所遇、所学、所悟

三钻

程序员 大前端 盘点2020

甲方日常 73

句子

工作 随笔杂谈 日常

函数进阶· 第3篇《常用内置函数filter()、map()、zip(),怎么用的呢?》

清菡软件测试

测试开发

什么样的企业才需要用到云服务器?

德胜网络-阳

Docker终端无法输入中文问题解决

Simon

Docker 七日更

浅谈数据仓库质量管理规范

数据社

数据仓库 数据质量管理 七日更

Native 与 JS 的双向通信

Minar Kotonoha

支持百万级TPS,Kafka是怎么做到的?

爱笑的架构师

kafka Kafka知识点 零拷贝 Mmap 七日更

第六周技术选型作业-CAP原理概述

Geek_michael

极客大学架构师训练营

永续合约交易系统开发模式定制

Javascript | 模拟mvc实现点餐程序

LiOnTalKING

Java mvc 大前端 H5

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