JetBrains宣布官方支持Rust插件

2017-08-08 10:31:54 +0800 CST

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插件,可以参考相关文档。