如何从Eclipse插件获取包浏览器中所选节点的完整路径?

时间:2009-06-25 13:26:53

标签: java eclipse plugins

我正在尝试获取包浏览器中所选节点的完整路径,它是一个文件夹或包而不是Eclipse Ganymede插件中的文件。我尝试了How to get the selected node in the package explorer from an Eclipse plugin页面中提到的方式,但每当我在代码中使用以下行时,

IFile file =(IFile)structured.getFirstElement(); (这个) IPath path = file.getLocation();

插件不起作用,也没有响应也没有异常警告。当我将IFile声明更改为Object声明时,它很好。但我需要获取文件或文件夹来获取我的操作的完整路径。

任何帮助将不胜感激......

2 个答案:

答案 0 :(得分:0)

可能是您应该调试代码并检查选择的第一个元素的实际类型。

在使用-consolelog选项进行测试时,您还应启动第二个eclipse实例,以便将错误日志重定向到控制台。 (有关错误日志的信息,如果您使用Eclipse启动配置从SDK eclipse运行您的应用程序,您必须检查第二个实例的错误日志以查看错误而不是第一个eclipse实例之一...我是以前看到人们混淆了这个)

答案 1 :(得分:0)

我想出了这个问题。我使用IJavaElement而不是使用IFile。我使用IJavaElement IPackageFragmentRoot a =(IPackageFragmentRoot)b.getParent(); IJavaElement [] c = a.getChildren();

。在此之前,我将org.eclipse.jdt.core.dom的导入包添加到插件的依赖项中。现在我可以获取每个IJavaElement的完整路径,无论它是文件还是文件夹。