2014-10-01 42 views
33

我必須爲Eclipse開發一個插件,但我更喜歡將IntelliJ IDEA作爲IDE。是否可以配置Eclipse插件開發的IDEA?如何使用IntelliJ IDEA進行Eclipse插件開發?

+11

爲什麼downvote?這是一個完全有效的問題。 – maba 2014-10-01 17:13:05

+2

@maba有些人只是想看世界燒 – sMaN 2016-02-23 04:42:54

+1

https://sites.google.com/site/javafornewbie/frameworks-tools/eclipse/eclipse-rcp-application-development-with-idea#TOC-Configure-the -IDEA-Project-Structure – Justin 2016-05-27 00:01:42

回答

19

應該可以使用Eclipse Tycho

您將使用maven,並與IntellIj完美配合。

第谷是專注於一個Maven爲中心,表現爲先的方法來構建的Eclipse插件,功能,更新站點,RCP應用程序和OSGi包。 Tycho是一套Maven插件和擴展,用於構建Eclipse插件和OSGi包與Maven。

+0

Tycho仍然沒有1.0版本。我不確定我是否可以在生產中使用它。 – 2014-10-01 17:29:01

+0

我不明白爲什麼這會是一個問題。如果它適合你,並且你開發的插件可以使用,那麼就使用它。 – maba 2014-10-01 18:09:00

+0

非常感謝您 – 2014-10-02 06:24:46

7

它可能使用Osmorc,但我沒有嘗試過。不過,我有一個可行的方法(使用IntelliJ 2017.1,但它應該與其他版本類似)。它不需要Eclipse Tycho,我無法使用它,因爲我的插件使用了與Tycho不兼容的XCore。

  • 在Eclipse中創建項目。
  • 創建您的IntelliJ項目。從現有來源
  • 內部的IntelliJ

    1. 文件>新建>模塊。選擇你的eclipse項目。從外部模型

      enter image description here

    2. 爲了

    3. 導入模塊不會弄亂Eclipse項目,我選擇了「保留項目和模塊文件~/IdeaProjects/MyIntelliJProject

    4. 重複每個Eclipse項目
  • 打開項目結構(Ctrl + Alt鍵 + + 小號

  • 在 「全局庫」(甚至只是庫),增加一個新的Java庫。
  • 選擇/opt/eclipse/plugins目錄(或安裝Eclipse的地方)
  • 確保每個模塊都將此ECLIPSE庫作爲最後一個依賴項。

此時,您應該能夠在IntelliJ中編寫和運行測試,但要真正運行插件,您必須使用Eclipse。不過這有點麻煩。

我的解決辦法是運行相同的命令,當你運行你的插件,Eclipse一樣:

  • 獲取BashSupport的IntelliJ插件(可能要在Windows別的東西,也許你可以運行一個批處理文件)
  • 在Eclipse中,運行您的插件(運行Eclipse應用程序)。
  • 打開Debug透視圖。您應該看到這樣的事情:

    Debug stack

  • 右鍵點擊>屬性的/usr/lib/jvm/...(可能是不同的Java JVM)

  • 複製命令行:

    Process Properties

  • 在其他地方,在你最喜歡的編輯器中,創建一個新的bash文件(我把這個文件放到我的IntelliJ項目文件夾中),然後粘貼這個com在那裏。

  • 請注意,當Eclipse運行該命令時,它將從/opt/eclipse/(或安裝eclipse的任何地方)的工作目錄運行,因此我們需要事先添加一個cd /opt/eclipse/。讓我們做一個新的外殼,以及:

    (cd /opt/eclipse && /usr/lib/jvm/java-8-oracle/bin/java ...) 
    

    如果這個bash腳本運行時,它應該是一樣的,如果我們從Eclipse中跑了。

  • 在的IntelliJ,創建一個新的運行擊配置(Alt鍵 + + F10>編輯運行配置)。使「腳本:」字段包含我們剛剛創建的bash文件的路徑。

    另外,在「啓動之前」選項中添加「生成項目」。

    此外,請勾選「僅限單一實例」框。

如果我們現在運行該配置,它應該工作。但是,我們仍然無法從IntelliJ中進行調試。這解決了:

  • 創建類型「遠程」的一個新的IntelliJ運行配置,將其標記爲「單實例只」
  • 複製「運行遠程​​JVM的命令行參數」。對我來說那就是

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 
    

    我更喜歡suspend=y的工作流程;基本上這意味着在我們附加調試器之前,eclipse應用程序不會啓動。

  • 複製您的bash文件,並添加以下參數:

    (cd /opt/eclipse && /usr/lib/jvm/java-8-oracle/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 ...) 
    
  • 添加的IntelliJ運行這個新的腳本(以及運行「建設工程」事先另一猛砸運行配置,不僅是「單實例「)。

現在,要調試Eclipse插件,運行調試Bash配置,然後運行遠程配置。

最後,這是我跑的配置是這樣的:

enter image description here

在這一點上,是需要,因爲Eclipse是編輯我.xcore文件Eclipse中唯一從生成的Java代碼,而XCore沒有辦法從終端運行。

+0

有一個問題應該投票支持:https://youtrack.jetbrains。 COM /問題/ IDEA-124520 – 2017-05-03 14:15:13