我正在尝试开发一个插件,它将在树视图中呈现 XML 文件的元素,并且(双击时)应该在编辑器中打开文件。有问题的文件是插件资源。
我见过的大多数示例都将文件作为 IFile 从选择(选定元素)中获取;我的问题是我找不到提供该输入的方法。这是我已经尝试过的几个示例:
IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject("the plugin project");
IFile file = testProject.getFile("test.xml");
和
IWorkspace workspace= ResourcesPlugin.getWorkspace();
IPath location= new Path(relative path); // local to the project directory
IFile file= workspace.getRoot().getFileForLocation(location);
不知何故,找不到我正在寻找的文件。我设法通过从以下提供的流中读取文件来渲染树:
MyClass.class.getResourceAsStream(relativePath);
我可以获取文件的 URL(使用 getResource()),但我不知道是否可以使用它来获取我需要的 IFile。请指教。