【问题标题】:Eclipse RCP local history is emptyEclipse RCP 本地历史记录为空
【发布时间】:2014-04-24 04:04:20
【问题描述】:

我正在尝试获取文件的本地历史记录,但它始终为空:

FileSystemResourceManager fsm =
                ((org.eclipse.core.internal.resources.Workspace)ResourcesPlugin.getWorkspace()).getFileSystemManager();
                IFileState[] fileStates =
                fsm.getHistoryStore().getStates(myFile.getFullPath(),null);

.metadata/.plugins/org.eclipse.core.resources/.history/ 文件夹中,我可以找到文件的项目,但我无法通过代码访问它们。

【问题讨论】:

    标签: eclipse eclipse-rcp


    【解决方案1】:

    您使用的 API 仅供内部使用,不属于 Eclipse API,请参阅Eclipse API Rules of Engagement

    您可以使用getHistory 方法从IFile 对象中获取IFileState

    IFile file = get ifile
    
    IFileState [] states = file.getHistory(progress monitor);
    

    【讨论】:

    • 谢谢。这也可以是空的,有什么原因吗?
    • 你的意思是你得到一个空数组吗?仅当调用IFile.setContents 的代码请求时才会记录历史记录。
    • 是的。我看到有一个 KEEP_HISTORY 标志正在使用中,但我无法为每个文件指定它。但是上述文件夹有文件的历史记录,我就是无法访问它。
    • 你是怎么得到IFile的?
    • IFile 是我们模型的一部分。基本上我们有一个使用自定义模型类的自定义编辑器和导航器。它具有文件的属性。该文件存在是因为我们的编辑器和文本编辑器都可以打开它。我无法收到任何错误,但我看到历史文件正在保存。该文件是使用 IFile.create 手动创建的
    猜你喜欢
    • 2023-04-10
    • 2019-05-29
    • 1970-01-01
    • 2015-09-26
    • 2012-11-19
    • 1970-01-01
    • 2012-01-01
    • 2012-05-12
    • 2013-08-02
    相关资源
    最近更新 更多