我们有一个激动人心的消息要宣布!rust analyzer项目是rust语言服务器协议(LSP)的新实现,现在正式成为更广泛的rust组织的一部分!🎉
首先,我们要感谢所有帮助我们走到这一步的人,从贡献者到赞助商,再到rust社区中rust analyzer的所有用户。没有你,我们不可能做到这一点。
这种组织变革的直接影响是有限的——对用户或贡献者来说没有任何变化。然而,这一变化解除了技术工作的障碍,使rust analyzer在不久的将来成为官方推荐的rust语言服务器。
如果您之前对尝试rust analyzer犹豫不决,今天是一个很好的机会。它不仅是一个功能强大的Rust语言服务器,而且根据VS代码统计数据,它是跨编程语言的最佳LSP实现之一。我们强烈建议现在就开始运行rust analyzer,即使我们需要更多的时间来完成适当的流程,并正确地从现有的官方推荐的LSP实现(RLS)转换。
最后,如果您使用的是基于IntelliJ平台的IDE,比如CLion、IDEA或PyCharm,那么您不需要';我不需要生锈分析仪。你应该使用JetBrains的IntelliJ Rust插件。
rust analyzer项目于2017年底启动(首次提交)。当时,现有的LSP实现RLS已经为Rust提供IDE支持好几年了。虽然它很好地处理了最重要的特性,但它显然远远没有为其他一些语言提供最先进的IDE。
最初,该计划只是尝试对锈菌进行容错解析;但是当你有一个好的解析器时,在上面添加一个简单的LSP服务器是非常诱人的。长话短说,令人惊讶的是,在2018年秋天,人们几乎不费吹灰之力就开发出了一个已经可以作为IDE使用的原型。在那个关键时刻,公司Ferror Systems(其本身就是新生事物)介入进来,为原型的进一步开发提供资金。
在2019年间,当时的锈蚀分析仪社区努力建立IDE的基础。到2020年,我们意识到我们所构建的不再是一个原型,而是一个已经非常有用的日常编程工具。这最终导致RFC2912:";转换到rust analyzer作为我们的官方LSP(语言服务器协议)实现";。RFC得到了社区压倒性的支持:它仍然是有史以来投票最多的RFC。然而,计划中有一个漏洞——rust analyzer不是一个官方的生锈项目!那';这就是我们今天要解决的问题!
接下来,我们将继续执行RFC:advertising rust analyzer中概述的计划,作为rust IDE支持的未来,收集反馈,并在这一积极结果的基础上,设置当前推荐的语言服务器sunsetting RLS。所以,再一次--尝试一下rust analyzer,并就跟踪问题留下反馈。
就像今天的锈菌分析仪一样令人兴奋,它只触及了';如果你带着编译器';将对代码的复杂理解直接输入文本编辑器。我们的最终目标是创建一个API来分析和转换能够完全访问语义的代码。
目前过渡时期最难解决的问题之一是资金问题。如今,Rust被组织为一系列独立的项目(rustc、cargo、rustup、rustfmt),在那里';It’没有办法直接资助一个特定的项目。新锈菌基金会通常是资助锈病的官方场所,基金会监督基金的分配。然而,人们一直鼓励个人寻求个人资助。虽然Rust项目可能会为个人出资人宣传融资机会,但它不会正式认可这些努力,也不会促进整个团队的融资。
rust analyzer从其OpenCollective和后来的GitHub赞助商那里获得了很大一部分资金,这些赞助商由Ferror Systems管理。这是一个由个人贡献者和Ferror Systems员工共同资助的项目。这方面的细节可以在他们的透明度报告中找到。
幸运的是,OpenCollective的管理方式始终可以将其转移到其他帐户持有人。通过这一转变,OpenCollection将从";铁锈分析仪";至";铁质系统OpenCollective(铁锈分析仪)和#34;。这使得目前的赞助者可以继续赞助,并明确表示他们选择的项目将继续获得资助。
从某种意义上说,OpenCollective被交给了钢铁系统。所有赞助商积分将移至https://ferrous-systems.com/open-source/#sponsors.
我们要感谢Ferror Systems在这一过程中的开放性和灵活性,感谢他们在确保rust analyzer周围的资金状况清晰方面的深思熟虑,感谢他们承担了筹款工作。
当然,公司支持锈菌分析仪开发的另一个好方法是雇佣锈菌分析仪的工作人员继续这样做。
我们';I’我想再次感谢所有帮助我做到这一点的人。从试验到进展顺利,再到官方推荐的Rust LSP实施,我们无法';如果没有我们的贡献者、赞助者和用户的帮助,我们将无法做到这一点。
因此';这就是我们现在的处境!感谢rustc、clippy、cargo、LSP、IntelliJ Rust、RLS和Rust analyzer的杰出贡献者,Rust如今已经获得了强大的IDE支持,即使它仍然有一点实验天赋。