如何 hide/remove Eclipse RCP 首选项对话框中的 import/export 按钮

How to hide/remove the import/export buttons on Preferences dialog in Eclipse RCP

我有一点使用 Activity with Eclipse RCP 来隐藏插件 UI 组件的经验,但是这个让我很困惑。我用 Eclipse Plug-in Selection Spy 试了一下哪个插件在默认 Preferences 页面底部提供了 import/export 按钮,它似乎指向 org.eclipse.ui.workbench。至少,当我实际单击“首选项”对话框时会出现这种情况。例如,当我执行 Alt + Shift + F1 并尝试单击“导出”按钮时,光标变回常规指针,当我单击时,Plug-in Spy window 变为空。

提供默认首选项页面的 class 是 org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog。 class 扩展了 org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog,它有一个方法可以在调用 open().

时将 import/export 按钮添加到对话框中

所以,我查看了 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>

防止导入 class 显示,也许这会阻止按钮显示,但这没有用。

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

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

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