繁体   English   中英

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

[英]How to use IntelliJ IDEA for Eclipse plugin development?

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

应该可以使用Eclipse Tycho

你将使用maven,它与IntellIj完美配合。

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

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

  • 在Eclipse中创建项目。
  • 创建IntelliJ项目。
  • 在IntelliJ里面

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

      在此输入图像描述

    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透视图。 你应该看到这样的东西:

    调试堆栈

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

  • 复制命令行:

    流程属性

  • 在其他地方,在您最喜欢的编辑器中,创建一个新的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”添加到“Before launch”选项中。

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

如果我们现在运行该配置,它应该工作。 但是,我们仍然无法在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,然后运行Remote Configuration。

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

在此输入图像描述

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM