Intellij idea 将Intellij IDEA插件中的虚拟文件与物理文件同步

Intellij idea 将Intellij IDEA插件中的虚拟文件与物理文件同步,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,我正在实现Intellij IDEA插件,它需要在执行操作之前保存文件。操作是shell命令,它要求将文件名作为命令行参数传递 AFAIK Idea在帧停用时保存(同步)文件,因此,如果我右键单击该文件并单击我的操作,将使用旧版本的文件。如果我转到其他窗口,返回Idea并单击我的操作-将使用文件的当前版本 我读过,发现我可以触发从文件系统加载文件(例如,VirtualFileManager.syncRefresh()或VirtualFileManager.asyncRefresh())。我试过这

我正在实现Intellij IDEA插件,它需要在执行操作之前保存文件。操作是shell命令,它要求将文件名作为命令行参数传递

AFAIK Idea在帧停用时保存(同步)文件,因此,如果我右键单击该文件并单击我的操作,将使用旧版本的文件。如果我转到其他窗口,返回Idea并单击我的操作-将使用文件的当前版本

我读过,发现我可以触发从文件系统加载文件(例如,
VirtualFileManager.syncRefresh()
VirtualFileManager.asyncRefresh()
)。我试过这个,希望它能起作用,但没有


问题是:如何手动(以编程方式)保存文件?

在格式化问题时,我又检查了一次,这对我很有效

FileDocumentManager.getInstance().saveAllDocuments();
编辑
终于想出了解决办法

FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance();
Document document = fileDocumentManager.getDocument(file);
if (document != null) {
    fileDocumentManager.saveDocument(document);
}

所以我找到了一个解决方案,但仍然不知道如何保存一个特定的文件