2013-12-08 2 views
5

Ich implementiere das Plugin für Intellij IDEA, das eine Datei speichern muss, bevor die Aktion ausgeführt wird. Aktion ist der Shell-Befehl, der Dateiname muss als Befehlszeilenparameter übergeben werden.Synchronisieren der virtuellen Datei mit der physischen Datei im Intellij IDEA-Plugin

AFAIK Idea speichert (synchronisiert) Dateien auf Frame-Deaktivierung, wenn ich also mit der rechten Maustaste auf die Datei klicke und auf meine Aktion klicke - alte Version der Datei wird verwendet. Wenn ich zu einem anderen Fenster gehe, gehe zurück zu Idea und klicke auf meine Aktion - die aktuelle Version der Datei wird verwendet.

Ich habe gelesen this doc about Virtual File System, und festgestellt, dass ich Datei aus dem Dateisystem geladen werden kann (z. B. VirtualFileManager.syncRefresh() oder VirtualFileManager.asyncRefresh()). Ich habe es versucht, in der Hoffnung, es würde funktionieren, aber es tut es nicht.

Frage ist: wie manuell (programmgesteuert) speichern Sie die Datei?

+0

so fand ich eine Lösung, aber immer noch keine Ahnung, wie eine bestimmte Datei speichern – Dany

Antwort

7

Während ich meine Frage formulierte, überprüfte ich noch einmal, und das funktionierte für mich.

FileDocumentManager.getInstance().saveAllDocuments(); 

EDIT
kam schließlich mit der Lösung

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