2013-12-08 2 views
5

Я внедряю плагин для Intellij IDEA, который требует сохранения файла перед выполнением действия. Действие - это команда оболочки, она требует, чтобы имя файла передавалось как параметр командной строки.Синхронизация виртуального файла с физическим файлом в плагине Intellij IDEA

AFAIK 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); 
} 
Смежные вопросы