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-info.java,可以將現有的非模塊化Java項目快速轉換為模塊化。一旦項目轉移完成,可以利用此功能。
有了Java 9的支持,可以將庫或容器添加到模塊路徑中,而不是類路徑。
一旦項目的模塊路徑添加了條目,則可以通過雙擊Is模塊化節點(或者在選擇“模塊化”的情況下使用“編輯”按鈕)來進一步修改其內容和封裝屬性。
Java搜索現在包含一個新的搜索范圍 - 模塊
將Java Runtime 9添加到項目的構建路徑時,將使用“依賴關系”選項卡創建啟動配置,而不是舊的“類路徑”選項卡。
對導入語句提供了新的快速修復,以解決由于缺少模塊依賴性而導致的問題。
當Java文件中存在未解析的類型時,可以使用新的快速修補程序。如果可以在java9模塊中找到未解決的類型,可以使用快速修復將添加導入類型條目到報告錯誤的文件,并將所需的模塊依賴添加到module-info.java文件。
如果在module-info.java文件的provide指令中有服務提供程序中的未解析類型,則可以使用新的快速修補程序。如果在當前模塊中找不到未解析的類型,可以使用快速解決方案在當前模塊中創建新的類或接口。
可以在JUnit啟動配置的“Configure Tags”對話框中提供標記以包含在測試運行中或從測試運行中排除。此外,在JUnit Jupiter中,可以使用TestReporter類型的方法參數來發布有關當前測試運行的附加數據,這些數據可以在Console視圖中查看。
提供了一個新的快速修復程序,用于解決在啟用Missing“@NonNullByDefault”注釋包時的問題,并且當粘貼字符串文字首選項時,Java> Editor> Typing> Escape文本現在有一個子選項使用Unicode轉義非ASCII字符的語法。
還有一個更精確的“高級”源查找實現,在調試運行時動態加載類的應用程序時特別有用。可以使用新的org.eclipse.jdt.launching.workspaceProjectDescribers擴展點為具有非默認布局的項目(如PDE插件項目)啟用高級源查找。新的org.eclipse.jdt.launching.sourceContainerResolvers可用于從遠程工件存儲庫(如Maven Central或Eclipse P2)下載源代碼jar文件。
3、PDE
有一個選項來控制PDE編譯器問題“Bundles with a Service-Component should set the Bundle-ActivationPolicy to lazy”,并將其設置為警告(默認情況下)。對于目標文件,通用文本編輯器中的環境參數標記支持高亮和自動完成。
最后但并非不重要的一點是,PDE包含項目檢測機制(對org.eclipse.ui.ide.projectConfigurators的擴展),以通過“General > File System”在導入期間檢測項目。
4、平臺開發人員
緊密循環中的UI更新可能會降低系統性能,并且用戶無法快速讀取信息。在這種情況下,現在可以使用class org.eclipse.jface.util.Throttler執行包裝在Runnable中的任務,在指定的時間內限制UI線程上的速率更新。
當由ITextSelection表示的懸停可以適應IVariable時,調試框架將有助于通用編輯器。如果要在通用編輯器中使用懸停時的調試細節,則可以使用org.eclipse.core.runtime.adpaters擴展點,并將ITextSelection中的IAdapterFactory定義為IVariable以啟用此功能。如果當前的選擇不能適應(所有的適配器工廠返回null),對通用編輯器的貢獻則被忽略,JDT項目已經提供了這樣一個適配器。