12.23 IntelliJ平臺2020年路線圖正式發佈

開源最前線(ID:OpenSourceTop) 猿妹綜合編譯

鏈接:https://blog.jetbrains.com/idea/2019/12/intellij-platform-roadmap-for-2020


JetBrains 官網發佈了IntelliJ 平臺 2020 年的路線圖。它們圍繞兩個主要主題:性能和對現代開發工作流的支持。


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進行更順暢的同步以及更好的編程模型。


分享到:


相關文章: