Intellij IDEA插件中将虚拟文件同步到物理文件

2024-02-02

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

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

我读了这篇关于虚拟文件系统的文档 http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Virtual+File+System,并发现我可以触发从文件系统加载文件(例如VirtualFileManager.syncRefresh() or VirtualFileManager.asyncRefresh())。我尝试过这个希望它能起作用,但它不起作用。

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


在格式化我的问题时,我又检查了一次,这对我有用。

FileDocumentManager.getInstance().saveAllDocuments();

EDIT
终于想出了解决办法

FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance();
Document document = fileDocumentManager.getDocument(file);
if (document != null) {
    fileDocumentManager.saveDocument(document);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Intellij IDEA插件中将虚拟文件同步到物理文件 的相关文章

随机推荐