在Eclipse中的包浏览器中突出显示类文件

时间:2013-02-04 21:47:26

标签: java eclipse java-ee eclipse-plugin highlighting

我为eclipse开发了一个插件,为项目的弹出菜单添加一个选项。此选项将按名称搜索类,然后它应突出显示包资源管理器中的类。我有关于突出显示部分的问题。我搜索文件夹中的类,所以我有类路径,但我不知道如何突出它。

我尝试了这个,但我没有得到任何结果:

String path = "D:\\Programs\\eclipse\\runtime-EclipseApplication\\tessssst\\src\\testClass.java";

    IPath iPath = new Path(path);
    IFile file = project.getFile(iPath);

    file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(iPath);

    ISelection selection = new StructuredSelection(file);

    IViewReference[] views = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();
    PlatformUI.getWorkbench().getActiveWorkbenchWindow()
    .getActivePage().resetPerspective(); 
    for(IViewReference view:views){
        if("org.eclipse.jdt.ui.PackageExplorer".equals(view.getId())){
            IViewPart pExplorer = view.getView(true);
            pExplorer.getViewSite().getSelectionProvider().setSelection(selection);
            break;
        }
    }

提前致谢

1 个答案:

答案 0 :(得分:2)

您应该使用JDT API来获取CompilationUnit:

ICompilationUnit cu = JavaCore.create(file);

然后使用此CompilationUnit对象来设置setSelection:

ISelection selection = new StructuredSelection(cu);

顺便说一下,为什么你要自己开发这个功能呢? Ctrl + Sihft + T,您可以打开一个对话框来搜索类并在编辑器中打开它。包浏览器有一个“链接编辑器”工具栏项,可以在活动编辑器中自动选择类。