IntelliJ Scala插件2020.3现已发布!

IntelliJ IDEA 2020.3提供了许多实用的功能,例如调试时的交互式提示,Git暂存支持,对Java 15记录和密封类的扩展支持等等。它简化了端点,框架和事件探查器的平常工做。经过基于机器学习技术的更好的代码完成,更直观和有用的新的“Welcome”屏幕以及更好的拼写和语法检查,整个UX获得了改进。简而言之,一切都更好!程序员

下载IntelliJ IDEA 2020.3编程

大多数发行版都侧重于编辑器功能,但该节的重点是并行编译和编译图表。咱们还提供了一些编辑器工具。缓存

1.并行编译
2.编译图表
3.加强的软件包前缀
4. MUnit支持
5. Scala 3改进
6.还有更多!服务器

并行编译框架

根据官方的Scala开发人员调查,在很大程度上,long compilation times Scala程序员平常工做流程中的主要难题。机器学习

尽管加速Scala编译器是一个有价值的目标,而且Scala编译速度在不断提升,可是最直接的解决方案是采用并行编译。此解决方案也是最有效的。经过使用N内核而不是内核,编译时间最多能够减小N几倍,而不是百分之几。编辑器

具备多核处理器,大量内存和固态驱动器的现代计算机无疑能够完成任务。所以,Scala编译服务器如今能够并行编译独立的模块:ide

咱们已经调整了默认VM选项,以默认状况下最多支持4个编译线程,这能够显着加快编译速度。若是您的计算机具备许多CPU内核和大量RAM,请随时调整“Settings | Build | Compiler | Scala | Compile Server(可经过“编译服务器”图标上的“Configure”访问)以进一步缩短编译时间。工具

编译图性能

为了提升并行编译的效率,您可能须要优化项目模块的结构和Compile Server的VM选项。可是,若是没有明确的指导,此任务将变成猜想游戏。虽然您能够查看模块依赖关系图,可是很难说出如何根据编译线程数来调度这些模块。

此外,Scala文件的编译时间能够相差很大,所以很难仅根据源文件的数量就知道编译一个特定模块须要花费多长时间。最大VM堆大小也是如此:是过小仍是太大?编译线程数如何影响RAM消耗?

为了帮助您完成此任务,咱们在“Build”工具窗口中将“编译图表”添加为“Chart 节点:

如今,您能够一目了然地判断什么时候有优化的潜力。这是典型的状况:

  • 一个模块起到一个瓶颈的做用:若是不少模块都依赖于一个须要长时间编译的模块,能够考虑将该模块拆分红几个部分。若是你的项目只由一个或数量有限的大模块组成,这种方法特别适合。
    除了使你的项目具备高度的可并行性以外,细粒度的模块还能够加快单线程编译速度(经过使编译器更容易解析引用),减小消耗的最大内存量(由于编译器没必要一次性加载全部的源码),清理IDE的自动完成(由于在范围内没有超级flous类),以及解开项目类之间的依赖关系(参见最小功率规则)。

  • 编译是线程绑定的:若是看到大多数时间全部线程都被占用,请尝试逐渐增长最大线程数。可是请记住实际的CPU核心/线程数-为OS和IDE保留一两个线程,以保持UI响应能力。

  • 线程数过多:若是在编译过程当中只须要最大线程数一次或两次,而且额外编译的模块相对较小,则增益仅适中,但您必须分配大部分时间未使用的额外RAM。在这种状况下,请考虑减小最大线程数。

  • 堆大小不足:若是堆大小保持接近最大值,则VM可能会进行过多的垃圾回收。即便没有OutOfMemoryError,编译性能也可能不会达到最佳。考虑增长最大堆大小。

  • 堆大小过多:您的操做系统能够更好地利用该内存,例如文件系统缓存,这实际上能够提升编译速度。

借助更快的编译速度和动态图表来吸引您的注意力,“编译”漫画如今已成为过去。

加强的软件包前缀

如今,Scala插件能够将IntelliJ IDEA的程序包前缀与Scala的连接程序包子句相对导入结合在一块儿。尽管这些功能中的每个都比较模糊,可是并无以指数方式增长模糊度,而是提供了一个直观且内部一致的系统:

您再也不须要忍受空目录链或一遍又一遍地重复相同的程序包前缀。如今,您能够保持目录和软件包的整洁。

MUnit支持

Scala插件已经支持JUnit,ScalaTest,uTest和Specs2。如今是时候咱们将另外一个条目添加到此列表了:

如今具备对MUnit的支持,具备全部一般的优势:

Scala 3改进

IntelliJ Scala插件已经为即将到来的Scala 3提供了至关长的支持,而且咱们正在努力跟上全部新更新。最值得注意的是,Scala插件如今能够理解主要方法的新语法:

工程Hello Worlds从未如此简单!

因为Scala 3仍在开发中,而且API还没有稳定,所以咱们实际上只能支持一个版本的Scala3。咱们建议每晚使用Scala插件进行构建,以尽快得到“最新,最出色”的功能。在Settings | Languages | Scala | Updates | Channel选择Nightly builds(您能够随时以相同的方式还原到更稳定的版本)。

更多!

此版本中还有许多其余功能,包括性能改进和错误修复。

IntelliJ IDEA现已更新至2020.3,所以能够查看IDEA的“新增功能页面,以了解与Scala也相关的平台功能。必定要签出Code With Me,这是一项用于协做开发和配对编程的服务,可以让您与他人共享当前在IDE中打开的项目,并实时进行协做。

相关文章
相关标签/搜索