立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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

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

关注

评论

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

谈 C++17 里的 Memento 模式

hedzr

设计模式 备忘录模式 Design Patterns c++17 Undo Manager

Vue进阶(幺肆贰):elementUI 中 el-switch、el-radio 使用注意事项

No Silver Bullet

Vue 10月月更

Gas 机制是如何运作的

Rayjun

以太坊

云原生训练营 20211017- docker作业

好吃不贵

模块(六)如何设计业务的微服务架构?

我是一只小小鸟

多媒体应用设计师软考备考日记(一)

Changing Lin

10月月更

Android Studio IDE 插件开发

字节跳动终端技术

android 字节跳动 客户端开发 火山引擎

【设计模式】第五篇 - 工厂方法模式

Brave

设计模式 工厂方法模式 10月月更

GK架构2 模6作业

Ping

02-面向对象设计原则

千羽的编程时光

设计模式

Go Switch - Go 中使用 Switch 的六种方式

baiyutang

golang 10月月更

01-设计模式概述

千羽的编程时光

设计模式

智慧城市的成人礼:城市智能体带来的变革与机遇

脑极体

Android SDK设计规范与心得

轻口味

android sdk 10月月更

那些值得称赞的 python 小亮点,断言,with 语句,格式化字符串,听我道来

梦想橡皮擦

10月月更

Prometheus 查询操作符(一) 二进制操作符

耳东@Erdong

Prometheus 10月月更

人物访谈|扎根社区的工程师,月影的前端人生

字节跳动终端技术

字节跳动 大前端

关于ToB产品与服务的一些思考

石云升

产品思维 职场经验 tob产品 10月月更

as-if-serial &happens-before详解

飞鸟

happens-before JMM as-if-serial

趣讲快速排序的两种方法

Regan Yue

快速排序 10月月更

linux之crontab使用技巧

入门小站

Linux

在线数字转大写金额工具

入门小站

工具

【架构实战营】模块九作业

Abner S.

#架构实战营

阿里P8面试官:如何设计一个扛住千万级并发的架构?

Java 程序员 架构 面试 高并发

【LeetCode】二叉搜索树中第K小的元素Java题解

Albert

算法 LeetCode 10月月更

区块链是数字治理的平台

CECBC

Leetcode 题目解析:230. 二叉搜索树中第K小的元素

程序员架构进阶

算法 LeetCode Top K问题 10月月更

019云原生之Kubernetes主要功能

穿过生命散发芬芳

云原生 10月月更

面试必备!2021金九银十阿里最新Java面试手册(全彩版)出炉

Java 程序员 架构 面试

项目开发中 9 个实用的JavaScript函数

devpoint

JavaScript 函数式 随机数 10月月更

看山聊 Java:IPv4 与 int 之间互相转换

看山

Java 10月月更

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