Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Visual Studio-editors kunnen gebeurtenissen van Query Edit Query Save (QEQS) uitzenden. Visual Studio Source Control Stub implementeert de QEQS-service, zodat deze de ontvanger is van QEQS-gebeurtenissen. Deze gebeurtenissen worden vervolgens gedelegeerd aan het momenteel actieve bronbeheer VSPackage. Het actieve broncodebeheer VSPackage implementeert de IVsQueryEditQuerySave2 en de bijbehorende methoden. De methoden van de IVsQueryEditQuerySave2 interface worden doorgaans aangeroepen onmiddellijk voordat een document voor de eerste keer wordt bewerkt en onmiddellijk voordat een document wordt opgeslagen.
QueryEditQuerySave-gebeurtenissen
Het bronbeheer VSPackage moet de QEQS-gebeurtenissen afhandelen door de IVsQueryEditQuerySave2 interface en de benodigde methoden te implementeren. Hieronder vindt u een korte beschrijving van de twee methoden die de VSPackage minimaal moet implementeren. De daadwerkelijke implementatie moet voldoen aan de logica van het broncodebeheermodel.
Methode QueryEditFiles
De QueryEditFiles naam wordt aangeroepen wanneer een project of editor een bestand wil wijzigen. In het ideale gevallen wordt deze methode aangeroepen voordat het bestand wordt gewijzigd en wanneer een bestand wordt opgeslagen. Wanneer deze wordt aangeroepen, controleert de IVsQueryEditQuerySave2::QueryEditFiles methode of de opgegeven bestanden onder broncodebeheer vallen, of ze moeten worden uitgecheckt en of ze opnieuw kunnen worden geladen. Als de omstandigheden verhinderen dat de bestanden kunnen worden bewerkt, vertelt de IVsQueryEditQuerySave2::QueryEditFiles methode het aanroepende programma om de bewerking te annuleren. Het is ook mogelijk dat de beller een aanroepmodus opgeeft. In de modus 'stil' wordt met deze methode alleen actie ondernomen als er geen gebruikersinterface wordt weergegeven. Als de gebruikersinterface onvermijdelijk is, moet er een vlag worden geretourneerd om het probleem aan te geven.
De methode gedraagt zich op transactionele wijze; Als de bewerking wordt geannuleerd voor één bestand, wordt de bewerking voor alle bestanden geannuleerd. Als de bewerking echter is toegestaan, is het toegestaan voor alle bestanden. Als met deze methode één keer kan worden bewerkt voor een bepaalde set bestanden, moet deze altijd bewerking toestaan voor volgende aanroepen voor dezelfde set bestanden. De toestaan-bewerkingslus gaat door totdat de bestanden zijn gesloten, opgeslagen en opnieuw geladen; totdat hun kenmerken (eigenschappen) veranderen; of totdat het hulpbronbeheerpakket is gewijzigd. Zaken waarmee u rekening moet houden bij het implementeren van de IVsQueryEditQuerySave2::QueryEditFiles methode zijn meerdere bestanden, speciale bestanden, annuleren van de gebruiker en in-memory bewerkingen.
De methode QuerySaveFiles
De QuerySaveFiles naam wordt aangeroepen wanneer een project of editor een set bestanden moet opslaan. Wanneer deze wordt aangeroepen, controleert de IVsQueryEditQuerySave2::QuerySaveFiles methode of de opgegeven bestanden alleen-lezen zijn en of ze onder broncodebeheer vallen. Als de bestanden moeten worden uitgecheckt, wordt de aanroep gedelegeerd aan het broncodebeheerpakket. Als de omstandigheden verhinderen dat de bestanden worden opgeslagen, moet de IVsQueryEditQuerySave2::QuerySaveFiles methode de editor vertellen het opslaan te annuleren. Net als bij de IVsQueryEditQuerySave2::QueryEditFiles methode kan de aanroeper een aanroepmodus opgeven. In de modus 'stil' wordt met deze methode alleen actie ondernomen als er geen gebruikersinterface wordt weergegeven. Als de gebruikersinterface onvermijdelijk is, moet er een vlag worden geretourneerd om het probleem aan te geven.
Deze methode moet zich op transactionele wijze gedragen; Als het opslaan op één bestand wordt geannuleerd, wordt de opslag geannuleerd voor alle bestanden. Als het opslaan echter is toegestaan, moet het zijn toegestaan voor alle bestanden. Net als bij de IVsQueryEditQuerySave2::QueryEditFiles-methode omvatten de gevallen om te overwegen bij het implementeren van de IVsQueryEditQuerySave2::QuerySaveFiles-methode meerdere bestanden, speciale bestanden, annulering door de gebruiker en in-memory bewerkingen.