【问题标题】:Opening files in eclipse via code通过代码在eclipse中打开文件
【发布时间】:2018-02-01 02:19:20
【问题描述】:

我想以编程方式在 Eclipse 中打开 .java 文件,即使用代码启动 Eclipse(如果尚未打开),然后打开指定的文件。

基本上,类似这样的(非工作,示例)代码:

File file = new File("path/to/file.txt");
EclipseEditor.open(file);

现在,我做了一些研究,有一段时间我认为我可以通过使用 org.eclipse.stuff 来做到这一点,就像在 this 示例中一样。但是,在尝试在我的构建路径上获取所需的包/类时出现一些错误之后,我现在在调用 EFS.getLocalFileSystem(); 时只得到一个 ExceptionInInitializerError

我想知道这些软件包是否仅适用于 Eclipse 插件,如果不是,我如何根据需要使用它们。

如果它们只在已经运行的 Eclipse 中使用插件,那也很好 - 我的应用程序也可以作为插件使用。不过,我想避免阅读如何编写插件 - 所以如果有任何方法可以避免使用插件,我将不胜感激。

【问题讨论】:

  • 我在问题中确实链接了它(“如本例中”)。它对我不起作用。
  • 嗯,编写一个 Eclipse 插件非常容易。或者,您可以使用Eclipse EASE 并使用openEditor(file)(使用/System/Resources/System/UI 模块)通过JavaScript 打开文件,就像在这个更复杂的示例中一样,但使用onStartup 作为触发器:stackoverflow.com/a/40072196/6505250
  • 或者您的意思是从命令行在(可能正在运行的)Eclipse IDE 中打开一个文件:eclipse --launcher.openFile "path/to/file.txt"
  • 我实际上是在选择一个文件列表,然后使用 regex-match-replace-pairs 对其进行修改。然后,我对这些选定的文件运行测试(如果它们包含任何文件),并且应该在 Eclipse 中打开那些失败的测试类以进行手动更正。我想使用批处理文件或类似的东西会起作用,但感觉很时髦:/

标签: java eclipse


【解决方案1】:

您可以触发命令行eclipse --launcher.openFile "path/to/file.txt"在Eclipse中打开一个或多个文件,例如。 G。通过以下 Java 代码:

Runtime.getRuntime().exec(new String[] {
    "/path/to/eclipse",
    "--launcher.openFile",
    "path/to/file.txt",
    // "path/to/file2.txt",
    // ...
});

或者,您可以在 Eclipse 内部使用 Eclipse EASE 并通过 e 打开文件。 G。带有openEditor(file) 的JavaScript(使用/System/Resources/System/UI 模块)就像在this more complex example 中一样。

【讨论】:

  • 谢谢,我已经实现了你的方法!它可以按需要工作:)
  • 我安装了一个全新的 Eclipse - 版本:2021-06 (4.20.0) Build id: 20210612-2011 - 在我的 Mac 上,安装在 $HOME/eclipse/java-2021- 06/Eclipse.app。当我使用以下命令启动 Eclipse 时: $HOME/eclipse/java-2021-06/Eclipse.app/Contents/MacOS/eclipse --launcher.openFile /path/to/file Eclipse 将打开,但文件未显示(请注意,我尚未在 Eclipse 中创建任何项目 - 这是全新安装)。
  • 评论我自己的评论:显然我无法打开文件,因为我遇到了这个 Eclipse 错误:bugs.eclipse.org/bugs/show_bug.cgi?id=564340
猜你喜欢
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多