如何使用IntelliJ IDEA进行Eclipse插件开发?

时间:2014-10-01 17:06:27

标签: intellij-idea eclipse-plugin eclipse-rcp

我必须为Eclipse开发一个插件,但我更喜欢IntelliJ IDEA作为IDE。是否可以为Eclipse插件开发配置IDEA?

2 个答案:

答案 0 :(得分:22)

应该可以使用Eclipse Tycho

你将使用maven并且与IntellIj完美配合。

  

Tycho专注于以Maven为中心,以清单优先的方式构建 Eclipse 插件,功能,更新站点,RCP应用程序和OSGi捆绑包。 Tycho是一套Maven插件和扩展,用于使用Maven构建 Eclipse 插件和OSGi包。

答案 1 :(得分:9)

有可能使用Osmorc,但我还没有尝试过。但是,我有一个有效的方法(使用IntelliJ 2017.1,但它应该与其他版本类似)。它不需要Eclipse Tycho,我无法使用它,因为我的插件使用的XCore似乎与Tycho不兼容。

  • 在Eclipse中创建项目。
  • 创建IntelliJ项目。
  • IntelliJ内部

    1. 文件>新>来自现有来源的模块。选择你的eclipse项目。
    2. 从外部模型导入模块

      enter image description here

    3. 为了不弄乱Eclipse项目,我选择了"将项目和模块文件保存在~/IdeaProjects/MyIntelliJProject

    4. 对每个eclipse项目重复
  • 打开项目结构( Ctrl + Alt + Shift + S

  • 全球图书馆" (或者甚至只是库),添加一个新的Java库。
  • 选择/opt/eclipse/plugins目录(或安装了eclipse的地方)
  • 确保每个模块都将此ECLIPSE库作为最后一个依赖项。

此时,您应该能够在IntelliJ中编写代码并运行测试,但要实际运行该插件,您必须使用Eclipse。但是,这有点混乱。

我的解决方案是运行与运行插件时Eclipse相同的命令:

  • 获取BashSupport IntelliJ插件(可能必须是Windows上的其他内容;也许您可以运行批处理文件)
  • 在Eclipse中,运行插件(Run Eclipse Application)。
  • 打开Debug透视图。你应该看到这样的东西:

    Debug stack

  • 右键单击> /usr/lib/jvm/...上的属性(可能是不同的Java JVM)

  • 复制命令行:

    Process Properties

  • 在其他地方,在你最喜欢的编辑器中,制作一个新的bash文件(我把这个文件放在我的IntelliJ项目文件夹中),并在那里粘贴这个命令。

  • 请注意,当Eclipse运行命令时,它会从/opt/eclipse/的工作目录(或安装了eclipse的地方)运行,因此我们需要事先添加cd /opt/eclipse/。我们也可以在新shell中执行此操作:

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

    如果运行此bash脚本,它应该与从Eclipse运行时相同。

  • 在IntelliJ中,创建一个新的Bash运行配置( Alt + Shift + F10 >编辑运行配置)。制作"脚本:"字段包含我们刚刚创建的bash文件的路径。

    另外,添加" Build Project"到#34;在发布之前"选项。

    此外,勾选"仅限单个实例"框。

如果我们现在运行该配置,它应该工作。但是,我们仍然无法在IntelliJ中进行调试。这解决了:

  • 创建一个类型为" Remote"的新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添加另一个Bash运行配置(并且还运行" Build Project"事先,"仅限单个实例")。

现在,要调试Eclipse插件,请运行Debug Bash Configuration,然后运行远程配置。

最后,这就是我的运行配置:

enter image description here

此时,Eclipse唯一需要的是编辑我的.xcore文件,因为Eclipse从中生成Java代码,而XCore没有办法从终端运行。