我必须为Eclipse开发一个插件,但我更喜欢IntelliJ IDEA作为IDE。是否可以为Eclipse插件开发配置IDEA?
答案 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不兼容。
IntelliJ内部
打开项目结构( Ctrl + Alt + Shift + S )
/opt/eclipse/plugins
目录(或安装了eclipse的地方)ECLIPSE
库作为最后一个依赖项。此时,您应该能够在IntelliJ中编写代码并运行测试,但要实际运行该插件,您必须使用Eclipse。但是,这有点混乱。
我的解决方案是运行与运行插件时Eclipse相同的命令:
打开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"到#34;在发布之前"选项。
此外,勾选"仅限单个实例"框。
如果我们现在运行该配置,它应该工作。但是,我们仍然无法在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,然后运行远程配置。
最后,这就是我的运行配置:
此时,Eclipse唯一需要的是编辑我的.xcore
文件,因为Eclipse从中生成Java代码,而XCore没有办法从终端运行。