在 RCP 应用程序中添加包资源管理器会导致丢失一些图标

2023-12-11

在我的 eclispe rcp 应用程序中,我添加了一个包资源管理器,添加了 org.eclipse.jdt.ui

enter image description here

当我使用 rcp-app 时,当我通过“新建项目向导”创建一个新项目以添加“常规项目”时,该项目已正确创建,但包资源管理器视图中的相应图标未加载。

我必须添加到我的应用程序中才能正确查看所有(平台)图标的插件是什么?

多谢


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

https://bugs.eclipse.org/bugs/show_bug.cgi?id=234252

解决方法是向您的 ApplicationWorkbenchAdvisor.java 添加一些代码

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

http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/cnf_rcp.htm

在此代码示例中,我添加了项目资源管理器和问题视图的图像。

这是我必须添加到初始化方法中的内容......

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

     // here's some of my code that does some typical RCP  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);

    declareWorkbenchImage(
            configurer, 
            ideBundle, 
            IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEMS_VIEW, 
            ICONS_PATH + "eview16/problems_view.gif", 
            true);

    declareWorkbenchImage(
            configurer, 
            ideBundle, 
            IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEMS_VIEW_ERROR, 
            ICONS_PATH + "eview16/problems_view_error.gif", 
            true);


    declareWorkbenchImage(
            configurer, 
            ideBundle, 
            IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEMS_VIEW_WARNING, 
            ICONS_PATH + "eview16/problems_view_warning.gif", 
            true);

    declareWorkbenchImage(
            configurer, 
            ideBundle, 
            IDEInternalWorkbenchImages.IMG_OBJS_ERROR_PATH, 
            ICONS_PATH + "obj16/error_tsk.gif", 
            true);

    declareWorkbenchImage(
            configurer, 
            ideBundle, 
            IDEInternalWorkbenchImages.IMG_OBJS_WARNING_PATH, 
            ICONS_PATH + "obj16/warn_tsk.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);
}

希望这可以帮助。

Thanks!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 RCP 应用程序中添加包资源管理器会导致丢失一些图标 的相关文章

  • 针对 Android 开发优化 Eclipse

    我使用 Eclipse 和 ADT 插件开发 Android 而且速度 很慢 我必须经常重新启动 当我打开各种 Android 项目 当我使用库项目时需要 时 情况会变得更糟 使用 ADT 插件时 是否可以进行任何具体优化来提高 Eclip
  • 由于 maven-surefire-plugin,Maven 构建失败

    我这里有类似的问题eclipse 中缺少 maven surefire plugin https stackoverflow com questions 23588957 maven surefire plugin missing in e
  • 为 Netsuite 启用内容辅助 eclipse

    如何在 Eclipse for Netsuite 中启用自动完成 内容辅助 ctrl space 如果我使用 java 内容创建辅助可以正常工作 但是如果我打开并为 Netsuite 项目创建内容辅助则无法正常工作 任何人都可以帮忙吗 Th
  • 无法在 Eclipse 4.4 中安装 Google 插件

    我的 Windows 7 上有 Eclipse 4 4 尝试安装 Google 插件时出现以下错误 无法完成安装 因为一个或多个必需项目可能会 找不到 正在安装的软件 Google Plugin for Eclipse 4 3 3 5 1
  • 开始使用 Mylyn 的最佳方式是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我听说过很多关于在 Eclipse 中使用 Mylyn 的好消息 我该如何设置它才能让我体验一下如何使用它 The 开创性的 Deve
  • 如何将图标添加到桌面上的应用程序快捷方式

    我希望当用户运行我的 C 应用程序时 该应用程序将创建一个桌面快捷方式来运行应用程序 我使用这个代码 private void appShortcutToDesktop string linkName string deskDir Envi
  • AlertDialog setButton 已弃用

    我在我的 Eclipse Android 项目中使用此代码 alertDialog setButton OK new DialogInterface OnClickListener Override public void onClick
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • 如何在 Eclipse 中更改动态 Web 项目的上下文根?

    我在 Eclipse 中开发了一个动态 Web 项目 我可以使用以下 URL 通过浏览器访问该应用程序 http localhost 8080 MyDynamicWebApp 我想将访问URL更改为 http localhost 8080
  • 无法打开 JDBC 连接以执行 DDL

    我的 spring beans 出现以下错误 创建名称为 employeeRepositoryDAOImple 的 bean 时出错 通过 setSessionFactory 方法表达的依赖关系未得到满足 参数0 嵌套异常是 org spr
  • SWT 设置列高或插入新行

    我目前有一个带有几个 TableColumn 的表 org eclipse swt widgets Table 然而 由于用户界面空间的限制 我遇到了一些问题 举例来说 我有一个名为 目标用户 的表列 并且不能将其命名为其他任何名称 并且必
  • java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java2411

    我正在尝试将 opencv 添加到我的 Spring Boot Maven 项目中 为了使用 opencv 库 我必须在 java library path 中提供本机库 我已将以下命令添加到 Eclipse VM 参数中 Djava li
  • 将 Tomcat 插件添加到 Flex Builder

    无论如何 我们可以将 tomcat eclipse 插件添加到 Adob e Flex Builder 3 中吗 换句话说 我们可以将所有 Eclipse 插件也添加到 Flex Builder 中吗 我不确定 Tomcat 的情况如何 但
  • 如何从 eclipse 获取实体的图标?

    我正在写一个 eclipse 插件 如何从 eclipse 库中获取各种图像 所以我没有为标准实体 例如类 接口 junits 等 保留一组本地图像 EDIT I used PlatformUI getWorkbench getShared
  • 如何为 eclipse PHP 调试设置正确的 URL

    我在使用非标准 URL 在 Eclipse 中设置 PHP 调试时遇到问题 我的应用程序的 URL 必须是http xxx index php http xxx index php 这是我无法轻易改变的 我在设置调试配置来调用此 URL 时
  • jQuery mobile-如何将选择的图标更改为自定义图标?

    我必须更改选择图标
  • 我可以在 NetBeans 中使用或导入 Eclipse 格式化程序吗?

    我们已经使用 Eclipse 很长时间了 我们的每个项目都有格式化程序 现在 我们中的一些人正在转向 NetBeans 是否可以将 Eclipse 格式化程序迁移 同步 导入到 NetBeans 我尝试将 Eclipse 项目导入 NetB
  • 从 Eclipse 的历史视图中删除 ORIG_HEAD 和 FETCH_HEAD

    我最近开始使用 Eclipse Kepler 和 EGit 插件 这些分支不是我习惯的 有没有办法永久阻止这些分支的创建 我尝试手动删除它们 但它不起作用 并且我不想在下次获取或变基时保留它们 据我从对您问题的评论中了解到 您只希望这些参考
  • Eclipse Kepler 在 64 位 ubuntu 上冻结

    几天前我刚刚将 Ubuntu 升级到 14 04 并在此过程中从 32 位切换到 64 位 从那时起 Eclipse 就变得非常不稳定 运行几分钟后 它将开始随机冻结越来越长的时间 特别是在代码完成时 已经必须禁用它 而且在剪切 粘贴时 偶
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na

随机推荐