2013-12-08 13 views
5

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

AFAIK Ideaはファイルをフレーム非アクティブ化に保存(同期化)するので、ファイルを右クリックしてアクションをクリックすると、古いバージョンのファイルが使用されます。私が別のウィンドウに行ったら、Ideaに戻り、自分のアクションをクリックしてください。現在のバージョンのファイルが使用されます。

私はthis doc about Virtual File Systemと読みましたが、ファイルシステムからファイルを読み込むことができます(たとえば、VirtualFileManager.syncRefresh()またはVirtualFileManager.asyncRefresh())。私はこれがうまくいくことを期待してみましたが、そうではありません。

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

+0

を思い付い – Dany

答えて

7

私の質問のフォーマット中にもう一度チェックしましたが、これは私のために働いていました。

FileDocumentManager.getInstance().saveAllDocuments(); 

EDIT
は、最後に私は一つの解決策を見つけたが、それでも一つの特定のファイルを保存するか見当もつかないソリューション

FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance(); 
Document document = fileDocumentManager.getDocument(file); 
if (document != null) { 
    fileDocumentManager.saveDocument(document); 
} 
関連する問題