java - Eclipse插件: how to provide input for the editor

标签 java eclipse eclipse-plugin

我正在尝试开发一个插件,它将在 TreeView 中呈现 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。 请指教。

最佳答案

您说 location 是相对于项目目录的,但是您尝试使用 workspace.getRoot().getFileForLocation() 来解析它,其 JavaDoc 说,

The path should be absolute; a relative path will be treated as absolute.

关于java - Eclipse插件: how to provide input for the editor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378046/

相关文章:

java - 无法解析 JAXB 中的额外符号

java - 为 Spring boot 应用程序编写 Spock 测试用例

java - 依赖二进制文件如何包含在 Maven 中最终构建和安装的 .JAR 中?

java - 发现未知的扩展标签 : Eclipse Plugin Development

java - Eclipse 中典型窗口的适当对象

java - 如何使用 apache commons-exec 启动程序并立即退出?

java - 通用二叉搜索树

eclipse - Mac 上的 Git 设置(错误 : "-bash: git: command not found")

java - 主线程中的异常 - java.util.InputMismatchException

android - 安装 ADT 时出现 Eclipse 依赖错误