EclipseUI插件

EclipseUI插件,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,在定制Eclipse的产品中,我们会问自己: 我们应该为所有用户界面问题创建一个单一的UI插件,还是应该将这些问题分解为几个插件(例如,UI.views-UI.preferences-UI.properties等…) 似乎Eclipse的“官方”产品,如CDT、JDT。。。只有一个UI插件,我使用的一些第三方插件有几个UI插件(例如Papyrus) 我知道这是一个相当主观的问题,但我有兴趣了解您管理UI内容的方式 Manu忽略任何特定于Eclipse的内容,我认为从产品支持的角度来看,使用单个插

在定制Eclipse的产品中,我们会问自己:

我们应该为所有用户界面问题创建一个单一的UI插件,还是应该将这些问题分解为几个插件(例如,UI.views-UI.preferences-UI.properties等…)

似乎Eclipse的“官方”产品,如CDT、JDT。。。只有一个UI插件,我使用的一些第三方插件有几个UI插件(例如Papyrus)

我知道这是一个相当主观的问题,但我有兴趣了解您管理UI内容的方式


Manu

忽略任何特定于Eclipse的内容,我认为从产品支持的角度来看,使用单个插件更有意义。这有以下好处:

  • 每个客户都有相同的环境,因此如果有人向您提出问题,您就知道他们有什么问题
  • 您必须测试单个配置。如果您将代码分成3个插件,那么您必须测试7种不同的配置
  • 将来,您不必担心应该添加哪些插件新功能

我会为每个独立可用的组件创建单独的捆绑包(或插件)。因此,如果我有一个视图,可以在没有其他东西的情况下使用,我会把它放在自己的包中。我发现这使得配置功能、替换某些部件、提供自定义组件组合、处理依赖项等变得更容易。

如果你的插件做了一件事(例如,添加菜单项订购比萨饼),那么将其拆分就没有什么意义了,你只是引入了复杂性。产品的模块化是决定如何将功能拆分为插件的关键因素。考虑你正在尝试传递的功能,以及是否有任何可选的组件或片段可以单独使用。


以m2eclipse为例,它有多个UI插件,但这是因为它们在功能上是分开的。XML编辑器当然是一个有用的UI添加,但核心功能(依赖关系管理)的用户不一定需要它,因此将其单独捆绑并使其成为可选的是有意义的。

Hi Dave,感谢您的回答,但它不适用于Eclipse。Eclipse在插件之上还有一个称为features的概念。在这两种情况下,我的产品都有一个收集所有插件(UI和核心插件)的功能,在所有情况下,我的所有客户都将安装相同的插件。问题在于用户界面插件的“数量”