簡體   English   中英

IntelliJ 插件開發凍結目標 IntelliJ 實例

[英]IntelliJ plugin development freezes target IntelliJ instance

我正在構建一個非常簡單的 IntelliJ 插件,並使用 IntellIJ CE (2019.1) 作為構建冒煙測試/調試的目標,通過 OOTB IntelliJ 插件運行配置進行部署。

每當我執行運行/調試時,它都會按預期打開 IntelliJ CE(作為 Main java 進程),讓我選擇要打開的項目。 打開項目並加載 IntelliJ UI 后,我有大約 5-10 秒的時間在 UI 變得無響應並且我得到旋轉的沙灘球之前。 我注意到 Main java 進程(用於 CE 實例)在接下來的幾秒鍾內(在我的 16GB 機器上)開始吞噬內存,躍升至 5-6GB。 在這一點上,除了停止該過程之外,我無能為力。

最初,我認為這是我的代碼(可能是無意中創建了一個無限循環),但是我將 plugin.xml 中的所有內容都注釋掉了,除了 fileType 擴展名(基本上是一個 Bean),它仍然這樣做。 我通過從 GitHub 上抓取其他一些 IntelliJ 插件項目並運行這些(未修改的)來繼續我的調查,以達到同樣的效果!! 所以我認為這與我的插件沒有任何關系。

我已經獲取了 CE 進程的線程轉儲,但沒有任何內容跳出(特別是尋找包含我的包的跟蹤)。

最后,我將該插件構建為一個可部署的 Jar,並將其部署到 CE 和 Ultimate 中,它不會凍結任何內容。 所以看起來這與插件部署 RunConfiguration (我留下了默認參數)有關。

我在 macOS 上運行最新的(截至本文)IntelliJ 2019.1。 我正在 IntelliJ Ultimate 上開發並部署到 IntelliJ CE (2019.1)。


基於所選正確答案的帶有屏幕截圖的分辨率:

  1. 創建一個新的 IntelliJ 插件開發 SDK 指向 IntelliJ CE 安裝,並設置為項目的 SDK 在此處輸入圖片說明

  2. 創建一個指向從 bintray 下載的 RJDK 的新 JDK 在此處輸入圖片說明

  3. 分配在第 2 步中創建的 JDK,作為在第 1 步中創建的 Puggin 開發 SDK 的 JDK(通過 SDKs 選項卡) 在此處輸入圖片說明

  4. 設置插件運行配置以使用 IntelliJ CE SDK。 在此處輸入圖片說明

  5. 運行插件運行配置,CE 將打開插件“熱部署”到它!

使用https://bintray.com/jetbrains/intellij-jbr或主要 IntelliJ IDEA 安裝中的 JetBrains Runtime 8 或 11 版本運行沙箱 IDE 版本。 您可以在插件運行/調試配置的 JRE 字段中指定它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM