为什么我无法访问 IPackageFragmentRoot?
why i can't access IPackageFragmentRoot?
我会尝试开发一些插件。
所以,我正在研究插件和听众。
我尝试使用侦听器和 javamodel 开发示例。
但是,当我访问 IPackageFragmentRoot 元素时,它并没有按照我的意愿进行。
所以,我调试了它。然后,我看到 IJavaProject 元素没有打开!但是我仍然可以在 eclipse 中访问这个项目。
我的代码有什么问题?以及如何在 IPackageFragmentRoot 中访问?
这些是未打开状态的示例。
这是代码片段。 currentProject 是我在 package explorer 中选择的 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);
}
添加
我在新工作区中导入了一些项目。
这是不是走错了??
我假设您正在使用 'Run as Eclipse Application' 到 运行 并测试您的插件。
当您 运行 插件 Eclipse 启动带有新工作区的全新 Eclipse 实例时。 None 的现有代码存在于此工作区中。您必须创建新项目,其中包含您要在此新工作区中测试的项目。
我会尝试开发一些插件。 所以,我正在研究插件和听众。 我尝试使用侦听器和 javamodel 开发示例。 但是,当我访问 IPackageFragmentRoot 元素时,它并没有按照我的意愿进行。 所以,我调试了它。然后,我看到 IJavaProject 元素没有打开!但是我仍然可以在 eclipse 中访问这个项目。
我的代码有什么问题?以及如何在 IPackageFragmentRoot 中访问?
这些是未打开状态的示例。
这是代码片段。 currentProject 是我在 package explorer 中选择的 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);
}
添加
我在新工作区中导入了一些项目。
这是不是走错了??
我假设您正在使用 'Run as Eclipse Application' 到 运行 并测试您的插件。
当您 运行 插件 Eclipse 启动带有新工作区的全新 Eclipse 实例时。 None 的现有代码存在于此工作区中。您必须创建新项目,其中包含您要在此新工作区中测试的项目。