1

我有一些使用带有 Eclipse RCP 的活动来隐藏插件 UI 组件的经验,但是这个让我很难过。我使用 Eclipse Plug-in Selection Spy 尝试查看哪个插件在默认 Preferences 页面底部提供了导入/导出按钮,它似乎指向org.eclipse.ui.workbench. 至少,当我实际上可以单击“首选项”对话框时,就会出现这种情况。例如,当我这样做Alt + Shift + F1并尝试单击“导出”按钮时,光标变回常规指针,并且当我单击时,“插件间谍”窗口为空。

提供默认首选项页面的类是org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog. 这个类扩展org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog了,它有一个方法可以在调用时将导入/导出按钮添加到对话框中open()

所以,我查看了org.eclipse.ui.workbench插件,试图找到一些activityPatternBinding可以隐藏这些按钮的东西。我尝试使用

<activityPatternBinding
    activityId="my_hidden_activity"
    isEqualityPattern="true"
    pattern="org.eclipse.ui.workbench/org.eclipse.ui.internal.wizards.preferences.PreferencesImportWizard">
</activityPatternBinding>

防止显示导入类,也许这会阻止按钮显示,但这不起作用。

有谁知道如何在不完全重写默认首选项对话框的情况下摆脱这些图标?

4

1 回答 1

1

如果创建它们的代码调用活动管理器检查它们是否被过滤,您只能隐藏它们 - 通常通过调用WorkbenchActivityHelper.filterItem.

中的导入/导出代码FilteredPreferenceDialog不会进行此调用,因此无法通过活动将其删除。我看不出有任何方法可以抑制这些按钮。

于 2021-10-29T07:03:21.920 回答