2016-10-03 7 views
0

Когда пользователь дважды щелкает элемент в одном из моих файлов, он открывает временный файл для редактирования с помощью DTE. Как только они закончат редактирование этого временного файла, они закрывают его, и он добавляет к родительскому файлу. Это отлично работает.Есть ли способ подавить диалог, спрашивающий, хотите ли вы сохранить определенный файл?

Моя проблема в том, что, когда они идут, чтобы закрыть временный файл, он спрашивает их, хотят ли они сохранить. В этой ситуации щелчок «нет» - это правильная вещь, которую нужно сделать иначе, она просит вас сохранить файл как что-то. Есть ли способ изменить это, чтобы он не спрашивал пользователя и всегда просто закрывал файл, не сохраняя его?

Заранее спасибо.

ответ

0

Хотя методы DTE не подвергать способ сделать это, вы могли бы использовать вместо IVsUIShellOpenDocument, а затем явно добавить RDT_DontSave, RDT_DontSaveAs и потенциально флаги RDT_DontAddtoMRU, с помощью аргумента grfOpenStandard передается IVsUIShellOpenDocument.OpenStandardEditor или аналогичный ,

В качестве альтернативы вы можете использовать IVsRunningDocumentTable.ModifyDocumentFlags, чтобы добавить флаги после факта.

Но для этого вам нужно будет извлечь файл cookie с чем-то вроде IVsRunningDocumentTable2.FindAndLockDocumentEx.