Modèle des packages de contrôle de code source

Le modèle suivant représente un exemple d’implémentation de contrôle de code source. Dans le modèle, vous voyez les interfaces que vous devez implémenter et les services d’environnement que vous devez appeler. Comme tous les services, vous appelez en fait les méthodes d’une interface particulière que vous obtenez par le biais du service. Les noms des classes sont identifiés pour faciliter la façon dont le contrôle de code source est effectué.

SCC_TUP Examples Exemple de projet de contrôle de code source

Interfaces

Vous pouvez implémenter le contrôle de code source pour vos nouveaux types de projet dans Visual Studio à l’aide de la liste des interfaces indiquées dans le tableau suivant.

Interface Utilisation
IVsQueryEditQuerySave2 Appelés par les projets et les éditeurs avant d’enregistrer ou de modifier (sale) les fichiers. Cette interface est accessible à l’aide du SVsQueryEditQuerySave service.
IVsTrackProjectDocuments2 Appelé par des projets pour demander l’autorisation d’ajouter, de supprimer ou de renommer un fichier ou un répertoire. Cette interface est également appelée par des projets pour informer l’environnement lorsqu’une action d’ajout, de suppression ou de renommage approuvée est terminée. Il est accessible à l’aide du SVsTrackProjectDocuments service.
IVsTrackProjectDocumentsEvents2 Implémentée par toute entité qui s’inscrit pour être avertie lorsque les projets ajoutent, renomment ou suppriment un fichier ou un répertoire. Pour vous inscrire à la notification d’événement, appelez AdviseTrackProjectDocumentsEvents.
IVsSccManager2 Appelé par les projets pour s’inscrire auprès du package de contrôle de code source et obtenir des informations sur l’état du contrôle de code source. Cette interface est accessible à l’aide du SVsSccManager service.
IVsSccProject2 Implémenté par le projet pour répondre aux demandes de contrôle de code source pour obtenir des informations sur les fichiers et obtenir les paramètres de contrôle de code source requis pour le fichier projet.