Eclipse plugin 向RCP显示project explorer视图及其功能

Eclipse plugin 向RCP显示project explorer视图及其功能,eclipse-plugin,eclipse-rcp,Eclipse Plugin,Eclipse Rcp,如何将PackageExplorerView的所有工具栏和功能添加到eclipse RCP应用程序?我使用PackageExplorer视图id来显示PackageExplorer视图。它显示rcp应用程序中的视图。但是在PackageExplorer视图中创建项目后,它不会显示所创建项目的项目图标。如何解决此问题?这是Eclipse RCP应用程序中的一个已知问题 解决方法是向ApplicationWorkbenchHadVisor.java添加一些代码 以下是RCP中有关此问题的更多文档

如何将PackageExplorerView的所有工具栏和功能添加到eclipse RCP应用程序?我使用PackageExplorer视图id来显示PackageExplorer视图。它显示rcp应用程序中的视图。但是在PackageExplorer视图中创建项目后,它不会显示所创建项目的项目图标。如何解决此问题?

这是Eclipse RCP应用程序中的一个已知问题

解决方法是向ApplicationWorkbenchHadVisor.java添加一些代码

以下是RCP中有关此问题的更多文档

我已经将此代码添加到我的initialize方法中,以便在项目资源管理器中显示图像,因此如果这些图像与这些图像不同,则需要跟踪要为包资源管理器添加的正确图像

  public void initialize(IWorkbenchConfigurer configurer) {
     super.initialize(configurer);

     // here's some of my code that does some typical RCP type configuration
     configurer.setSaveAndRestore(true);
     PlatformUI.getPreferenceStore().setValue(
            IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false);

    // here is the work around code
    /*
     * This is a hack to get Project tree icons to show up in the Project Explorer.
     * It is descriped in the Eclipse Help Documents here.
     * 
     * http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/cnf_rcp.htm
     * 
     */

    IDE.registerAdapters();

    final String ICONS_PATH = "icons/full/";

    Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);

    declareWorkbenchImage(
            configurer, 
            ideBundle,
            IDE.SharedImages.IMG_OBJ_PROJECT, 
            ICONS_PATH + "obj16/prj_obj.gif",
            true);

    declareWorkbenchImage(
            configurer, 
            ideBundle,
            IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, 
            ICONS_PATH + "obj16/cprj_obj.gif", 
            true);


    /*
     * End of hack in this method... 
     */
}

private void declareWorkbenchImage(IWorkbenchConfigurer configurer_p, Bundle ideBundle, String symbolicName, String path, boolean shared)  
{
    URL url = ideBundle.getEntry(path);
    ImageDescriptor desc = ImageDescriptor.createFromURL(url);
    configurer_p.declareImage(symbolicName, desc, shared);
}
希望这有帮助


谢谢

在较新的eclipse版本中,一个重要的更改可能是。包含的图像不再是GIF,而是PNG。因此,将所有位置,例如“obj16/prj_obj.gif”更改为“obj16/prj_obj.png”和所有其他图像,它将正常工作。来源