6

アクションを実行する前にファイルを保存する必要があるIntellij IDEAのプラグインを実装しています。アクションはシェル コマンドです。コマンド ライン パラメータとしてファイル名を渡す必要があります。

AFAIK Idea は、フレームの非アクティブ化時にファイルを保存 (同期) するため、ファイルを右クリックしてアクションをクリックすると、古いバージョンのファイルが使用されます。別のウィンドウに移動した場合は、Idea に戻ってアクションをクリックします。現在のバージョンのファイルが使用されます。

Virtual File System に関するこのドキュメントを読んだところ、ファイル システム (VirtualFileManager.syncRefresh()または など)からファイルをロードするようにトリガーできることがわかりましたVirtualFileManager.asyncRefresh()。うまくいくことを期待してこれを試しましたが、うまくいきません。

質問: 手動で (プログラムで) ファイルを保存する方法は?

4

1 に答える 1

12

質問をフォーマットしているときに、もう一度確認しましたが、これでうまくいきました。

FileDocumentManager.getInstance().saveAllDocuments();

EDIT
最終的に解決策を思いついた

FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance();
Document document = fileDocumentManager.getDocument(file);
if (document != null) {
    fileDocumentManager.saveDocument(document);
}
于 2013-12-08T23:24:33.417 に答える