为您的自定义插件项目重用 Project Explorer 的视图

Reuse Project Explorer' view for your custom plugin project

我正在开发一个 eclipse 插件并重新使用 'Project Explorer' 视图来显示树内容。

我有几个问题可以尽可能地重用:

  1. 如何禁用排序 - 当前 'Project Explorer' 查看我不需要的排序树节点。我可以在一个地方更改标志或其他东西吗?或者我将不得不实施视图排序器?

  2. 如何像 java 项目那样保存项目的扩展状态,我希望对自定义插件项目实施相同的方式。

  3. 如何标记一些节点不显示。我希望在 'Project Explorer' 视图中隐藏和不显示几个文件夹。

插件正在使用 Wizards (INewWizard) 创建一个 IProject 并向其中添加一些 IFolder。

代码片段:

private static IProject createBaseProject(String projectName, URI location) {
        // it is acceptable to use the ResourcesPlugin class
        IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);

        if (!newProject.exists()) {
            URI projectLocation = location;
            IProjectDescription desc = newProject.getWorkspace().newProjectDescription(newProject.getName());
            if (location != null && ResourcesPlugin.getWorkspace().getRoot().getLocationURI().equals(location)) {
                projectLocation = null;
            }

            desc.setLocationURI(projectLocation);
            try {
                newProject.create(desc, null);
                if (!newProject.isOpen()) {
                    newProject.open(null);
                }
            } catch (CoreException e) {
                e.printStackTrace();
            }
        }

        return newProject;
    }

private static void createFolder(IFolder folder) throws CoreException {
        IContainer parent = folder.getParent();
        if (parent instanceof IFolder) {
            createFolder((IFolder) parent);
        }
        if (!folder.exists()) {
            folder.create(false, true, null);
        }
    }

如果您想自定义您自己的 ProjectExplorer 视图,您需要学习 Common Navigator Framework 文档和教程,例如 this one