如何在eclipse RCP中隐藏首选项页面

时间:2009-09-22 15:26:06

标签: eclipse preferences rcp

我有一个eclipse rcp并希望隐藏安全性并帮助prerence页面。我怎么能这样做?

2 个答案:

答案 0 :(得分:19)

我一直在寻找相同的东西,并在此链接中找到了解决方案:

http://sourceforge.net/apps/trac/fable/wiki/Preferences

干杯。 斯蒂芬


禁用帮助首选项

将以下代码放入org.eclipse.ui.application.WorkbenchAdvisor的子类中,并从RCP首选项对话框中删除“帮助”组:

public void postStartup() {
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager( );
    pm.remove( "org.eclipse.help.ui.browsersPreferencePage" );
}

org.eclipse.help.ui.browsersPreferencePage”是偏好设置扩展点的ID 添加透视首选项¶

备注:要查找插件ID首选项,请选择Window-->show view--> PDE Runtime--> Plugin Registry .....并尝试找到您要查找的内容.....
例如,对于“Workbench preferences”,请查看fable.eclipse.ui.ide和扩展程序org.eclipse.ui.preferencePagesid="org.eclipse.ui.preferencePages.Workbench"

如果您只想添加透视(例如)偏好设置,请在MANIFEST.XML中添加偏好设置扩展程序:

id : org.eclipse.ui.preferencePages.Perspectives
name:perspective(fable)
class:org.eclipse.ui.internal.ide.dialogs.IDEPerspectivesPreferencePage

//Add : org.eclipse.ui.ide in your Dependencies

在ApplicationWorkBenchAdvisor中:

public void postStartup() {
    PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager( );

    pm.remove( ""org.eclipse.ui.preferencePages.Workbench"browsersPreferencePage" );
}

public String getInitialWindowPerspectiveId() {
    IPreferenceStore pref = Activator.getDefault().getPreferenceStore();
    String ret = pref.getDefaultString(IWorkbenchPreferenceConstants.DEFAULT_PERSPECTIVE_ID);
    ret=(ret==null || ret.equals(""))?"yourDefaultPerspectiveID":ret;
    return ret;
}//

答案 1 :(得分:6)

根据this entry,您可以使用 "workbench activities" 机制,并且:

  
      
  • 定义与不同访问级别相对应的单独活动
  •   
  • 根据访问级别
  • 在常规操作集中定义您的操作   
  • 将每个活动与相应的操作集相关联   activityPatternBinding元素
  •   
  • 在工作台的早期,在身份验证之后设置启用的活动ID   生命周期,例如来自WorkbenchAdvisor的{​​{1}}方法。
  •   

(注意,以上是基于用户权限的过滤,但可以推广到其他标准。)


关于存储和帮助的首选项页面,您应该将这些页面的ID与您知道可以禁用的活动绑定:

preStartup()

会禁用与帮助相关的所有菜单/偏好设置/视图。

如果您使用<activityPatternBinding activityId="org.eclipse.javaDevelopment" pattern="org\.eclipse\.help\..*/.*"> </activityPatternBinding> ,则只会绑定org.eclipse.help.ui.PrefPageHelp\..*prefPageHelp

如果您添加另一个活动绑定扩展名 prefPageHelpContent,它还会处理安全存储首选项页面。