eclipse Photon将在明年夏天发布(它总是在6月的第四个星期三发布),不过,现在可以大致看到其会添加的一些新功能,主要是对java 9的支持以及通过这种支持所获得的新功能,下图是整个Photon发布的官方时间表:
Eclipse Photon M3
vogella GmbH公司的创始人兼首席执行官Lars Vogel在三个月前表示,Eclipse Photon的重点“将不得不继续改进Eclipse平台的可用性和性能。”真的是这样吗?让我们来看看。
1、平台
在macOS上的等待光标曾经是一个静态的黑色/白色圆圈 - 随着Eclipse Photon添加了一些颜色,它将会改变。根据官方公告,macOS系统的光标将变成旋转的蓝色球(也称为沙滩球)。
此外,对话框的左下角已经接收到用于打开Import/Export Preference Wizards易于访问的按钮。程序员可以通过File > Import 和File > Export dialogs来访问向导。
DirectoryDialog已重新实现,以使用Windows Vista中引入的现代本机窗口小部件,并且在Workspace首选项页面上,有一个新选项来定义错误标记的严重性,以在项目引用不可用的特性时显示出来。
更重要的是,可以使用“Open Resource”对话框,通过突出显示基于camel-case 和pattern ( * and ? )搜索的名称,查看搜索项匹配到的资源。主工具栏可以显示“Undo”和“Redo”按钮(默认情况下不可用,可通过“Window > Perspective > Customize Perspective”添加)和“导出CSV”操作导出键绑定的命令ID。
2、JDT完全支持Java 9
用于Java的Eclipse编译器(ECJ)实现了所有新的Java 9语言增强功能
更新了重要功能以支持Java模块,例如编译器,搜索和许多功能。
不必使用Java Runtime 9运行Eclipse即可获得Java 9支持。但是,Java Runtime 9需要位于项目的构建路径上,以针对系统模块编译模块化项目。
将Java Runtime 9添加到项目的构建路径时,系统模块将列在资源管理器的系统库下。
通过为项目创建一个module-in,可以将现有的非模块化Java项目快速转换为模块化。一旦项目转移完成,可以利用此功能。
有了Java 9的支持,可以将库或容器添加到模块路径中,而不是类路径。
一旦项目的模块路径添加了条目,则可以通过双击Is模块化节点(或者在选择“模块化”的情况下使用“编辑”按钮)来进一步修改其内容和封装属性。
Java搜索现在包含一个新的搜索范围 - 模块
将Java Runtime 9添加到项目的构建路径时,将使用“依赖关系”选项卡创建启动配置,而不是旧的“类路径”选项卡。
对导入语句提供了新的快速修复,以解决由于缺少模块依赖性而导致的问题。
当Java文件中存在未解析的类型时,可以使用新的快速修补程序。如果可以在java9模块中找到未解决的类型,可以使用快速修复将添加导入类型条目到报告错误的文件,并将所需的模块依赖添加到module-in文件。
如果在module-in文件的provide指令中有服务提供程序中的未解析类型,则可以使用新的快速修补程序。如果在当前模块中找不到未解析的类型,可以使用快速解决方案在当前模块中创建新的类或接口。
可以在JUnit启动配置的“Configure Tags”对话框中提供标记以包含在测试运行中或从测试运行中排除。此外,在JUnit Jupiter中,可以使用TestReporter类型的方法参数来发布有关当前测试运行的附加数据,这些数据可以在Console视图中查看。
提供了一个新的快速修复程序,用于解决在启用Missing“@NonNullByDefault”注释包时的问题,并且当粘贴字符串文字首选项时,Java> Editor> Typing> Escape文本现在有一个子选项使用Unicode转义非ASCII字符的语法。
还有一个更精确的“高级”源查找实现,在调试运行时动态加载类的应用程序时特别有用。可以使用新的org.ecli扩展点为具有非默认布局的项目(如PDE插件项目)启用高级源查找。新的org.ecli可用于从远程工件存储库(如Maven Central或Eclipse P2)下载源代码jar文件。
3、PDE
有一个选项来控制PDE编译器问题“Bundles with a Service-Component should set the Bundle-ActivationPolicy to lazy”,并将其设置为警告(默认情况下)。对于目标文件,通用文本编辑器中的环境参数标记支持高亮和自动完成。
最后但并非不重要的一点是,PDE包含项目检测机制(对org.ecli的扩展),以通过“General > File System”在导入期间检测项目。
4、平台开发人员
紧密循环中的UI更新可能会降低系统性能,并且用户无法快速读取信息。在这种情况下,现在可以使用class org.ecli执行包装在Runnable中的任务,在指定的时间内限制UI线程上的速率更新。
当由ITextSelection表示的悬停可以适应IVariable时,调试框架将有助于通用编辑器。如果要在通用编辑器中使用悬停时的调试细节,则可以使用org.ecli扩展点,并将ITextSelection中的IAdapterFactory定义为IVariable以启用此功能。如果当前的选择不能适应(所有的适配器工厂返回null),对通用编辑器的贡献则被忽略,JDT项目已经提供了这样一个适配器。