为您的自定义插件项目重用 Project Explorer 的视图
Reuse Project Explorer' view for your custom plugin project
我正在开发一个 eclipse 插件并重新使用 'Project Explorer' 视图来显示树内容。
我有几个问题可以尽可能地重用:
如何禁用排序 - 当前 'Project Explorer' 查看我不需要的排序树节点。我可以在一个地方更改标志或其他东西吗?或者我将不得不实施视图排序器?
如何像 java 项目那样保存项目的扩展状态,我希望对自定义插件项目实施相同的方式。
如何标记一些节点不显示。我希望在 '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
我正在开发一个 eclipse 插件并重新使用 'Project Explorer' 视图来显示树内容。
我有几个问题可以尽可能地重用:
如何禁用排序 - 当前 'Project Explorer' 查看我不需要的排序树节点。我可以在一个地方更改标志或其他东西吗?或者我将不得不实施视图排序器?
如何像 java 项目那样保存项目的扩展状态,我希望对自定义插件项目实施相同的方式。
如何标记一些节点不显示。我希望在 '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