Java Eclipse插件操作在普通2019-12实例中不起任何作用,但在rcp调试实例中运行良好

Java Eclipse插件操作在普通2019-12实例中不起任何作用,但在rcp调试实例中运行良好,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在尝试调试Eclipse插件的一个问题。这是原始应用程序的分支,不幸的是,它现在已被废弃 随着Eclipse的进一步发布,插件中出现了一些问题。我能够解决第一个问题(从我与基准回购协议的差异中可以看出),但下一个出现在2019-09年左右的问题更难解决 具体地说,“垂直拆分窗口”命令在执行时不起任何作用。它是绑定到键还是直接从“执行扩展命令”提示符执行并不重要。日志中没有显示与此相关的内容 因此,我下载了RCP 2019-12发行版的一个实例,并进行了调试。我在调试中运行了一个“Eclips

我正在尝试调试Eclipse插件的一个问题。这是原始应用程序的分支,不幸的是,它现在已被废弃

随着Eclipse的进一步发布,插件中出现了一些问题。我能够解决第一个问题(从我与基准回购协议的差异中可以看出),但下一个出现在2019-09年左右的问题更难解决

具体地说,“垂直拆分窗口”命令在执行时不起任何作用。它是绑定到键还是直接从“执行扩展命令”提示符执行并不重要。日志中没有显示与此相关的内容

因此,我下载了RCP 2019-12发行版的一个实例,并进行了调试。我在调试中运行了一个“Eclipse应用程序”,并测试了该函数。它工作得非常好。这意味着,我在2019-12年的常规安装中加载的其他东西使该功能无法发挥任何作用

在Marketplace客户机上,我尝试在调试实例中安装一些与我在常规实例中安装的相同的插件,但我在这方面做得并不深入。我试图安装“SpringIDE”,但这给了我很多错误。它以“无法完成”开头,给了我一长串“将被卸载”、“将被升级/降级”和“将不被安装”。Spring的所有特性都在后一个列表中。我试图安装“Groovy”插件,这给了我几个“缺少需求”的错误

我不知道丢失的插件是否是导致操作正常运行的原因,我也不明白为什么我不能安装插件

我不知道该怎么办

更新

有评论指出,在调试实例中安装插件的方法是向目标平台添加插件。我继续这样做,发现一组插件的选择是从现有安装中选择,这是完美的,因为这正是我希望调试实例使用的,我现有2019-12安装中的所有插件

不幸的是,这样做显然删除了我安装的其他插件作为问题的根源。我在这个新编辑的调试实例中测试了插件代码,它与我的常规实例具有所有相同的插件,并且插件工作得非常好。在我的常规实例中,当我执行有问题的操作时,什么都没有发生。没有任何错误,我也没有得到预期的结果。所讨论的操作是“垂直拆分窗口”,它应该执行听起来的操作

请注意,通过将插件源设置为常规安装,其中还包括所讨论插件的已安装副本,即Emacs+插件(从“dropins”目录安装)。我不确定那会怎么样。无论如何,我在插件代码中设置了断点,当我执行该操作时,它确实命中了断点

请注意,我还将相同的首选项文件导入了我在常规安装中使用的调试实例中,因此首选项是相同的,并且根据前面的信息,已安装的插件集应该几乎相同(我不相信它们完全相同)

调试实例和我的常规安装之间唯一的其他区别是,常规安装是Eclipse安装程序的“Eclipse IDE for Java Developers”变体,但调试实例是从“Eclipse for RCP and RAP Developers”变体启动的。我不知道这是否重要

更新

我向插件代码添加了记录器调用(使用“org.eclipse.equinox.log.logger”,这是要使用的正确记录器类吗?)。我甚至向操作处理程序类的构造函数添加了一个记录器调用(甚至还有一个println)。在日志文件中看不到这些内容。这说明我的插件配置文件有问题,比如“plugin.xml”文件

“plugin.xml”文件有3928行长,所以我有点犹豫是否将其粘贴到这里。我试着在Eclipse中打开它,它没有任何抱怨

以下是显示相关条目的屏幕抓图:

请注意,尽管可执行操作没有做任何事情,而且似乎没有执行处理程序,但操作定义的某些方面正在正确加载到Eclipse中,如操作的描述。Emacs+提供了一个“descripe command”函数,我可以为这个命令指定“垂直拆分窗口”,它正确地返回“plugin.properties”文件中设置的这个命令的描述


还要注意的是,尽管这个特定的操作在这个版本的Eclipse中没有做任何事情,但Emacs+中的其他功能仍然工作得很好。

我不确定尝试在调试实例中安装是否有效。可用的插件由您的目标平台控制,您必须更新它以包括其他插件。我认为这很有帮助,但这只会消除我安装的插件作为问题的根源。我更新了目标平台以包含我的2019-12安装,因此获得了我正在使用的所有插件,但该症状不会出现在调试实例中,即使它出现在我的常规2019-12实例中。我将用这些信息更新帖子。我想在操作代码中添加记录器调用,并在本地更新站点中重新安装插件,而不是使用dropins文件夹。日志字符串从未出现在日志中。事实上,我向operation handler类的构造函数添加了一个日志调用,它也没有出现。这让我觉得我的配置文件有问题,比如plugin.xml文件。我会更新帖子