7月31號,Rust社區(qū)就已非正式聲稱JetBrains開始官方支持Rust插件,不過不再支持2016.3版本的IDEA,受支持的IDEA最小版本為2017.1。8月4號,JetBrains官方博客正式宣布開始官方支持Rust插件,包括IDEA、CLion等IntelliJ平臺IDE。
目前,Rust插件的主要特性如下。
導(dǎo)航特性:Go to Class、Go to Symbol、Go to Super Module、Structure、Go to Definition。編輯器特性:代碼自動完成、格式化(計劃支持rustfmt)、合并行、智能按鍵(如自動插入匹配的符號)、自動填充后綴、基本的Intention和重構(gòu)(如引入變量、重命名等)。支持Cargo,提供了一個UI用于運行測試用例和應(yīng)用程序,不過這要求在Cargo端進行一些配置。Rust插件誕生還不到兩年時間,還有很多不足之處。Rust這門語言本身對IDE并不友好,比如它復(fù)雜的類型系統(tǒng)、宏特性等,導(dǎo)致IDE無法百分之百友好地支持它。目前最缺的是調(diào)試器,雖然在CLion上已經(jīng)有一個實驗性質(zhì)的調(diào)試器,但功能很有限,因為它嚴(yán)重依賴CMake。JetBrains計劃在不久的將來能夠盡快解決這些問題,包括與Rust類型系統(tǒng)保持一致、支持宏特性、提供調(diào)試器,并提供更多的Intention、審查、重構(gòu)功能。
2015年9月1號,JetBrains內(nèi)部就已啟動了兩個項目,在IntelliJ平臺IDE上支持Rust。其中一個項目是由實習(xí)生Alexey Kladov主導(dǎo)的,另一個則是由Alexey Kudinkin主導(dǎo)的附帶項目。這兩個項目都是基于JVM,都使用了Kotlin進行開發(fā),而且是在Kotlin正式發(fā)布之前。一個月后,兩個項目合并,Rust插件這才正式誕生。一年前,Rust插件還在RustConf大會上亮過相。
Rust插件是一個開源項目,吸引了一批優(yōu)秀的開發(fā)人員加入,包括Tobias Bieniek、Marek Kaput、Andrew Lygin、Arseniy Pendryak等人。Alexey Kladov作為主要負(fù)責(zé)人,會花40%的時間在項目上。另外,JetBrains官方承若會有另外一個開發(fā)人員會加入。
JetBrains目前并沒有計劃要為Rust推出一個單獨的IDE,不過這并不代表未來也不會。Rust插件會一直在GitHub上開源,歡迎感興趣的人加入或者提供反饋。如果有人想在IntelliJ平臺IDE(IDEA、CLion、WebStorm、Gogland、PyCharm等)上嘗試使用Rust插件,可以參考相關(guān)文檔。