1

我正在开发一个 Eclipse 插件,用于为另一个 Java 平台创建插件。

我设法弄清楚了 LaunchShortcut 概念、LaunchDelegate 等。插件的基本代码路径:

  1. 如果它检测到右键单击的项目是“插件”项目,我有一个启动快捷方式显示。
  2. 这是通过 propertyTester 检测到的
  3. 一旦成功,我的启动快捷方式就会运行,它会查找现有的启动配置,或者如果以前不存在则创建一个新配置。
  4. 然后通过以下方式启动此启动配置DebugUITools.launch(...)
  5. 我的 LaunchDelegate 就这样运行了,它设置了 VMRunnerConfiguration 来启动要加载插件的“应用程序”。这一切都完成了,因此我们可以轻松地使用 eclipse 中的调试器对启动的应用程序来测试插件。

到此为止,这个世界是快乐而美好的。您可以通过右键单击项目、运行/调试、启动插件来一遍又一遍地执行此操作。

但是,第二次单击 Eclipse 菜单栏中的下拉菜单进行运行或调试(您知道以前运行的应用程序列表),从此时开始,右键单击项目不再起作用。

PropertyTester 甚至没有被调用。深入研究LaunchConfigurationManager显示我的 launchShortcut 不再存在,这特别奇怪,因为快捷方式列表只加载一次。

无论如何,我完全不知道 Eclipse 在这里做什么以及我需要做什么才能让事情再次变得快乐。

任何建议/帮助将不胜感激。谢谢你。

4

1 回答 1

0

对于那些以后可能会遇到这个问题的人。

显然,您的 PropertyTester 需要能够测试 java.lang.Object。如果您不这样做并且您尝试测试 IJavaProject 之类的东西,您的插件将在运行下拉悬停期间失败,因为它将无法在某些对象上使用您的属性测试器(duh)。

没有什么是当这种情况发生时,您的快捷方式会从所有可能使用它的地方删除。

于 2009-10-14T22:39:14.127 回答