我们如何在目标平台上自动禁用Eclipse插件?

3
我们开发了一个名为CodingSpectator的Eclipse插件,它收集有关Eclipse中各种Java开发工具使用情况的数据。这些数据帮助我们更好地了解开发人员如何使用Eclipse以及如何改进Eclipse以更好地满足程序员的需求。CodingSpectator从在Eclipse中打开的每个工作区中捕获数据。我们的一些用户开发RCP应用程序或Eclipse插件。因此,他们从其主Eclipse实例运行新的Eclipse实例。但是,我们不希望CodingSpectator从目标平台(从主Eclipse内部打开的新Eclipse实例)中收集数据。因此,我们指示用户配置其目标平台以排除CodingSpectator(请参见http://codingspectator.cs.illinois.edu/resources/documentation/user-guide.html#htoc6)。但是,手动配置目标平台并不方便。因此,我们正在寻找更好的方法来停止从目标平台捕获数据。
我们如何自动禁用用户目标平台上的CodingSpectator?
3个回答

2
一种方法是查找“-dev”应用程序参数。当从Eclipse中启动应用程序时,PDE总是添加此参数。

我怎么设置参数?我如何确保参数始终已设置? - reprogrammer
嗯...也许我误解了你的意思。我以为你只是想检测是否从Eclipse中启动。为此,您可以使用Platform.getApplicationArgs()并搜索“-dev”。 - Tonny Madsen
感谢您的澄清。您的建议看起来很有前途,我会尝试一下。 - reprogrammer
当我从我的Eclipse实例中运行一个新的Eclipse实例时,Platform.getApplicationArgs()返回一个空数组。 - reprogrammer
2
找到了 :-) 请查看 Platform.inDevelopmentMode()。 - Tonny Madsen

2
我使用Platform.inDevelopmentMode()来确定Eclipse实例是否在另一个Eclipse实例中运行。

0

对于至少RCP应用程序而言,很可能已经定义了一个目标,以确保团队和发布的稳定性。

但是,在某些情况下,如果有人想使用Eclipse开发者版本来测试插件,您可以提供一个实用程序来创建目标。

目标可以由项目中的文件定义。您可以提供一个生成该文件的实用程序。用户只需要执行以下操作:

  1. 运行您的实用程序
  2. 刷新项目(如果需要)。
  3. 在目标编辑器中打开生成的目标文件。
  4. [可选] 进一步修改生成的目标。
  5. 单击目标编辑器左上角的“设置为目标平台”链接。

我们正在寻找一个完全自动化的解决方案。你的回答是一个进步,但并没有完全解决问题。 - reprogrammer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接