儲存自訂文件
環境控制代碼Save, Save As,以及Save All指令。 當使用者按一下儲存, 另存新檔, 或 [全部儲存 的 檔案功能表或 [關閉方案,並導致 [全部儲存],下列程序,就會發生。
儲存,請另存新檔,並儲存所有的命令處理自訂編輯器
此程序將有詳細說明下列步驟:
對於儲存和另存新檔命令,環境會使用SVsShellMonitorSelection服務來判斷使用中文件視窗,並因此哪些項目應該儲存。 一旦知道使用中的文件視窗,環境就會尋找執行文件表格中的文件的階層指標以及 [項目識別項 (項目識別碼)。 如需詳細資訊,請參閱 執行文件表格。
為 [全部儲存] 指令,環境會使用的資訊,文件中執行表格編譯儲存的所有項目清單。
方案的接收到QueryStatus的呼叫,逐一選取項目的集合 (也就是多個選取範圍所公開的SVsShellMonitorSelection服務)。
在選取範圍中的每個項目,方案會使用階層指標來呼叫IsItemDirty方法,以判斷是否應該啟用 [儲存檔案] 功能表指令。 如果一或多個項目已變更,則會啟用 [儲存] 指令。 如果階層都使用標準的編輯器,然後查詢的階層架構委派骯髒狀態變更為編輯器] 藉由呼叫IsDocDataDirty方法。
已變更每個選取的項目,在方案會使用階層指標來呼叫SaveItem上適當的階層架構的方法。
如果是自訂的編輯器中,文件的資料物件和專案之間的通訊為私用的。 因此,會處理任何特殊的持續性的考量,這兩個物件之間。
注意事項 如果您實作自己的持續性,請務必呼叫QuerySaveFiles方法,以節省時間。這個方法會檢查以確定是否可以安全地儲存檔案 (例如,檔案不是唯讀)。