2016-07-06 123 views
0

我会尝试开发一些插件。所以,我正在研究插件和听众。 我尝试使用listener和javamodel开发示例。 但是,当我访问IPackageFragmentRoot元素时,它没有按照我的要求做。 所以,我调试它。那么,我看到IJavaProject元素没有打开!但是我仍然可以在eclipse中访问这个项目。为什么我无法访问IPackageFragmentRoot?

我的代码有什么问题?以及如何在IPackageFragmentRoot中访问?

这些是非开放状态的例子。

project

pacakage

这是代码段。 currentProject是我在包资源管理器中选择的IProject。

if (currentProject != null) { 
    try { 
     currentProject.open(new NullProgressMonitor()); 
    } catch (CoreException e) { 
     e.printStackTrace(); 
    } 
    IJavaProject javaProject = JavaCore.create(currentProject); 
    ProjectTreeNode root = createTreeNode(javaProject.getElementName()); 
    IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot("src"); 
    root = getContents(srcFolder, root); 
    setInput(root); 
} 

地址

我进口的新的工作区的一些项目。

enter image description here

这是错误的方式?

回答

0

我假设你使用'Run as Eclipse Application'来运行和测试你的插件。

当您运行插件时,Eclipse会启动一个全新的Eclipse实例,并提供一个新的工作空间。这个工作区中没有您现有的代码。您必须在此新工作区中创建包含要测试的项目的新项目。

+0

感谢您的回答。但我有另一个问题。所以,我会更新我的问题。你可以帮我吗? – user3649231

+0

我不能告诉你已经显示。当你调试你的插件会发生什么?你是否获得了'IProject'?你得到'IJavaProject'吗? –

+0

嗯.....谢谢你的回答。我发现我的错误,并得到一个解决方案。 – user3649231

相关问题