【问题标题】:Convert from absolute path to IFile从绝对路径转换为 ​​IFile
【发布时间】:2017-11-06 14:49:25
【问题描述】:

我正在使用 Eclipse 插件,其中存在于 Project Explorer 视图中的项目的工作区名称与项目的实际路径不同。因此,当我尝试获取项目位置时,考虑位于D:\test 的项目,它指向D:\test_plugin_specific_suffix

有没有办法从绝对路径(指向本地路径,D:\test\testfile.txt)获取 IFile?

我想创建一个指向我拥有绝对路径的特定文件的超链接。当我点击超链接上的控制台时,它应该在编辑器中打开文件。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    您可以使用IWorkspaceRoot.findFilesForLocationURI 找到与绝对路径对应的IFile(如果您是 使用链接):

    File file = new File(....absolue path);
    URI location = file.toURI();
    IFile[] files = ResourcesPlugin
       .getWorkspace()
       .getRoot()
       .findFilesForLocationURI( location );
    

    【讨论】:

    • 这让我陷入了困境,因为有些项目有很多重复文件可能会或可能不会被过滤
    • 该插件也使用一个平面文件夹,它复制所有使用的文件,但我必须创建一个指向原始文件位置的超链接,而不是平面文件夹位置。
    • 实际上,我会试一试,因为这似乎会实现我想要得到的。我认为我不会遇到多个链接的情况,文件在工作区中有 1 对 1 的对应关系。谢谢 Greg,我会在验证后回来接受您的解决方案。
    猜你喜欢
    • 2019-08-20
    • 2014-01-28
    • 2017-08-01
    • 2011-11-07
    • 2011-05-02
    相关资源
    最近更新 更多