IntelliJ平台2020年路线图正式发布,看完记得收藏!

JetBrains 官网发布了IntelliJ 平台 2020 年的路线图。它们围绕两个主要主题:性能和对现代开发工作流的支持。

性能

索引性能

与IDE性能有关的两个主要痛点是启动性能,索引耗时较长的工具被认为是重量级的。今年,JetBrains 做了很多工作来加快启动速度,明年的关注重点也将转向索引性能方面。

针对该问题,JetBrains采取了多管齐下的方法。首先,实现了支持预建的索引块,这样每个IntelliJ实例都不必执行相同的索引java.lang.String类。JetBrains计划在2020年逐步提供支持,从JDK开始,然后涵盖Maven Central的库以及其他IDE中的解释器和包。此外,JetBrains还在研究支持团队或企业内项目源代码的索引块共享方法,但是目前还没有任何具体计划。

其次,JetBrains计划通过在索引时提供更多的IDE操作来减少索引的破坏性。

第三,检测并通知用户索引异常的情况,旨在解决的这些问题并提高 IDE 在项目上的性能的清晰步骤。当然,JetBrains也会致力于旧性能优化,以确保索引正常工作

读/写锁线程模型重新设计

用户关注的另一个主要问题是UI卡死,今年,JetBrains修复了许多UI卡死的Bug问题(比如文件系统事件的异步侦听器),在接下去的一年里,将会迈出更大的一步:需要写锁定的操作移出 UI 线程

早在IntelliJ IDEA的早期,就做出了一项架构决定,该决定要求大多数操作修改IDE的内部数据结构才能在UI线程上运行。这种架构的好处是编程模型简单,但是明显的缺点是UI响应能力在许多情况下都会受到影响。

多年以来,IntelliJ 一直在寻找方法来解决此体系结构的局限性,主要是将大型操作拆分为在后台运行并应用于UI线程的部分。2020年,JetBrains将重构IntelliJ平台的基本UI组件和API,以采用新的线程模型。一旦新模型稳定并且可以看到改进,我们将在所有IDE中切换到新模型,从而使UI性能表现更加优异

无需重启即可加载和卸载插件

对于此功能,已经在IntelliJ IDEA 2019.3给出了预览,该预览版本使用户无需重新启动就可以安装主题和键盘映射插件。在2020.1中,我们计划将此支持扩展到所有类型的插件中。

这样做最主要的目的是让用户的IDE可以根据开发者打开的每个项目的大小自行调整大小,比如仅针对使用Spring的项目加载Spring插件,仅针对Angular项目加载 Angular 插件。

工作流程支持

协同编辑

协同编辑是问题跟踪器中投票最高的请求,JetBrains也在对其作出改进,目前采用的方法是将有一个主IDE在运行源代码的计算机上运行,其他用户能够将其IDE作为“瘦客户机”连接到主IDE,而无需直接源代码访问。每个连接的用户都将具有自己的状态(打开文件集,插入号位置,完成变体列表等),并且可以根据需要选择“跟随”另一个用户。

支持云执行

长久以来,许多JetBrains产品都支持在除个人意外的计算机上或在容器内运行和调试代码。但是,在不同产品中这些功能的实现之间并没有太多共享,甚至基本功能(如Docker支持)的UI也不一致。

在IntelliJ IDEA 2020.1中,受支持的环境将包括本地计算机、Docker容器和通过ssh连接的计算机。在后续的版本中还将提供更深入的云集成方案

重新设计项目模型

项目模型是IDE表示项目结构的方式:哪些文件属于该项目、它们如何相互依赖、使用哪些库等,项目模型有一定的局限性,首先,它不支持任意混合不同类型的项目。

重新设计的项目模型(内部称为“工作区模型”)将消除这些限制。同时它还带来了其它好处,例如在项目打开期间提高性能、与Maven和Gradle进行更顺畅的同步以及更好的编程模型。

发布了21 篇原创文章 · 获赞 0 · 访问量 144

猜你喜欢

转载自blog.csdn.net/weixin_46898270/article/details/105702542