Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'ambiente gestisce i comandi Salva, Salva con nome e Salva tutto. Quando un utente fa clic su Salva, Salvacon nome o Salva tutto nel menu File o chiude la soluzione, con conseguente salvataggio di tutti, viene eseguito il processo seguente.
Gestione dei comandi Salvare, Salvare con nome e Salvare tutti per un editor personalizzato
Questo processo è dettagliato nei passaggi seguenti:
Per i comandi Salva e Salva con nome, l'ambiente usa il SVsShellMonitorSelection servizio per determinare la finestra del documento attiva e quindi gli elementi da salvare. Dopo che la finestra del documento attiva è nota, l'ambiente trova il puntatore della gerarchia e l'identificatore dell'elemento (itemID) per il documento nella tabella dei documenti in esecuzione. Per altre informazioni, vedere Tabella dei Documenti in Esecuzione.
Per il comando Salva tutto, l'ambiente utilizza le informazioni nella tabella dei documenti in esecuzione per compilare l'elenco di tutti gli elementi da salvare.
Quando la soluzione riceve una QueryStatus chiamata, scorre il set di elementi selezionati, ovvero le selezioni multiple esposte dal SVsShellMonitorSelection servizio.
In ogni elemento della selezione, la soluzione usa il puntatore della gerarchia per chiamare il IsItemDirty metodo per determinare se il comando di menu Salva deve essere abilitato. Se uno o più elementi sono sporchi, il comando Salva è abilitato. Se la gerarchia usa un editor standard, la gerarchia delega l'esecuzione di query sullo stato dirty all'editor chiamando il IsDocDataDirty metodo .
In ogni elemento selezionato che è sporco, la soluzione utilizza il puntatore della gerarchia per chiamare il metodo SaveItem sulle gerarchie appropriate.
Nel caso di un editor personalizzato, la comunicazione tra l'oggetto dati del documento e il progetto è privata. Pertanto, qualsiasi particolare preoccupazione di persistenza viene gestita tra questi due oggetti.
Annotazioni
Se implementi la tua persistenza personalizzata, assicurati di chiamare il metodo QuerySaveFiles per risparmiare tempo. Questo metodo verifica che sia sicuro salvare il file( ad esempio, il file non è di sola lettura).