Services et interfaces associés (VSPackage de contrôle de code source)
Cette section répertorie toutes les interfaces vsPackage liées au contrôle de code source dans le Kit de développement logiciel (SDK) Visual Studio. VsPackage du contrôle de code source implémente certaines de ces interfaces et utilise d’autres pour accomplir des tâches de contrôle de code source.
Interfaces implémentées par et pour les VSPackages de contrôle de code source
Les interfaces suivantes sont décrites dans le Kit de développement logiciel (SDK) Visual Studio et le contrôle de code source VSPackage implémente un sous-ensemble d’entre eux en fonction de son ensemble de fonctionnalités souhaité. Certaines interfaces sont marquées comme requises et doivent être implémentées par chaque VSPackage du contrôle de code source.
Pour ces interfaces qu’un package n’implémente pas, Visual Studio fournit une implémentation par défaut. Notez que l’implémentation par défaut est conçue pour le cas où aucun VSPackage n’est inscrit et qu’aucun projet n’est contrôlé. Un VSPackage de contrôle de code source correctement écrit implémente toutes les interfaces nécessaires plutôt que de le laisser à l’implémentation par défaut de ces interfaces.
Un VSPackage de contrôle de code source doit implémenter un service privé qui encapsule une partie ou l’ensemble des interfaces suivantes.
Les interfaces sont les suivantes :
Obligatoire : l’entité appropriée (VSPackage de contrôle de code source, Stub de contrôle de code source, projet) doit implémenter l’interface.
Recommandé : l’entité doit implémenter cette interface ; sinon, la fonctionnalité de contrôle de code source peut être limitée.
Facultatif : l’entité peut implémenter cette interface pour fournir un ensemble de fonctionnalités plus riche.
Interface | Objectif | Implémenté dans | Implémenter? |
---|---|---|---|
IVsQueryEditQuerySave2 | Les éditeurs appellent cette interface avant de modifier ou d’enregistrer un fichier. VsPackage du contrôle de code source peut case activée le fichier ou refuser l’opération si le case activée out échoue. | VSPackage du contrôle de code source | Recommandé |
IVsSccManager2 | Cette interface fournit des fonctionnalités de contrôle de code source de base pour les projets, telles que l’inscription et la désinscription de projets avec le contrôle de code source et la prise en charge des glyphes de contrôle de code source de base. | VSPackage du contrôle de code source | Requis |
IVsSccProject2 | Cette interface est obtenue à partir de l’utilisation IVsHierarchy de la QueryInterface fonction, ou simplement en cas de conversion de l’objet en IVsHierarchy IVsSccProject2 . Il est utilisé pour obtenir les fichiers sous contrôle de code source dans un projet ou pour informer le projet de l’état ou de l’emplacement actuel du contrôle de code source. |
Project | Requis |
IVsSccProvider | Le module d’intégration utilise cette interface pour définir le VSPackage actif actuel. | VSPackage du contrôle de code source | Requis |
IVsTrackProjectDocuments2 | Cette interface est basée sur un modèle d’abonnement. Tout VSPackage peut signaler qu’il souhaite recevoir des événements de document et être informé par l’interpréteur de commandes sur les événements sur le point de se produire. Il est implémenté et géré par Visual Studio, qui transmet à son tour les événements implémentant le IVsTrackProjectDocumentsEvents2 vsPackage. |
Stub du contrôle de code source | Requis |
IVsTrackProjectDocuments3 | Cette interface fournit un traitement par lots, des opérations de lecture/écriture synchronisées et une méthode avancée OnQueryAddFiles . |
Stub du contrôle de code source | Requis |
IVsTrackProjectDocumentsEvents2 | Explorateur de solutions et les projets appellent cette interface lorsque de nouveaux fichiers sont ajoutés aux projets, ou lorsque des fichiers et dossiers sont renommés ou supprimés de projets. VsPackage du contrôle de code source peut case activée le fichier projet ou annuler l’opération. | VSPackage du contrôle de code source | Recommandé |
IVsTrackProjectDocumentsEvents3 | Explorateur de solutions et les projets appellent cette interface en réponse aux appels effectués aux méthodes de l’interface IVstrackProjectDocuments3. VsPackage du contrôle de code source peut suivre les opérations par lots, synchroniser des opérations de lecture/écriture et utiliser une méthode plus avancée OnQueryAddFiles . |
VSPackage du contrôle de code source | Recommandé |
IVsSccEnlistmentPathTranslation | Cette interface fournit la prise en charge de la gestion de l’inscription pour les projets Web. | VSPackage du contrôle de code source | Recommandé |
IVsSccManagerTooltip | Cette interface permet de récupérer l’outil Astuces pour les fichiers contrôlés par la source dans les projets. | VSPackage du contrôle de code source | Facultatif |
IVsSccOpenFromSourceControl | Cette interface fournit la prise en charge de l’extension d’espace de noms. | VSPackage du contrôle de code source | Facultatif |
IVsSccControlNewSolution | VsPackage utilise cette interface pour intégrer une extension d’espace de noms dans les boîtes de dialogue Nouveau, Ouvrir ou Enregistrer . Par conséquent, les projets peuvent être automatiquement ajoutés au contrôle de code source lors de la création ou ajoutés au contrôle de code source lorsqu’une opération d’enregistrement est en vigueur. | VSPackage du contrôle de code source | Facultatif |
IVsSccGlyphs | VsPackage utilise cette interface pour définir des glyphes supplémentaires comme glyphes de contrôle de code source pour les nœuds dans Explorateur de solutions. | VSPackage du contrôle de code source | Facultatif |
IVsSccAddWebProjectFromSourceControl | La boîte de dialogue Ajouter pour les projets web utilise cette interface. Il fournit des méthodes permettant de parcourir un emplacement de contrôle de code source et d’ouvrir un projet Web précédemment ajouté dans le référentiel de contrôle de code source à cet emplacement. | VSPackage du contrôle de code source | Recommandé |
IVsAsynchOpenFromScc | Cette interface prend en charge le chargement asynchrone (en arrière-plan) de projets à partir du contrôle de code source. | VSPackage du contrôle de code source | Facultatif |
IVsAsynchOpenFromSccProjectEvents | Cette interface permet aux projets de surveiller la progression du chargement asynchrone initié par IVsAsynchOpenFromScc. | Project | Facultatif |
IVsSccToolsOptions | Cette interface permet à l’IDE d’interroger le VSPackage de contrôle de code source actif. L’IDE interroge la valeur des paramètres de contrôle de code source qui ont une signification même s’il n’existe aucun VSPackage de contrôle de code source actif inscrit. Cette interface est implémentée et gérée par Visual Studio. | Stub du contrôle de code source | Requis |
IVsRegisterScciProvider | Cette interface est utilisée pour inscrire le vsPackage du contrôle de code source. | Stub du contrôle de code source | Requis |
SourceControl | Cette interface est utilisée dans l’automatisation. Par conséquent, elle expose uniquement les fonctions qui peuvent être exécutées sans afficher d’interface utilisateur. | VSPackage du contrôle de code source | Facultatif |
IVsPersistSolutionProps | Cette interface permet d’enregistrer les paramètres de contrôle de code source dans le fichier solution (.sln). Les paramètres incluent l’emplacement du contrôle de code source et les indicateurs d’état du contrôle de code source. | VSPackage du contrôle de code source | Recommandé |
IVsPersistSolutionOpts | Cette interface est utilisée pour enregistrer les paramètres de contrôle de code source dans le fichier options de solution (.suo). Cela peut inclure des paramètres de contrôle de code source spécifiques à l’utilisateur, tels que l’emplacement d’inscription de l’utilisateur actuel. | VSPackage du contrôle de code source | Recommandé |
IVsSolutionEvents3 | Cette interface est utilisée pour surveiller les événements afin d’effectuer des opérations telles que case activée ing dans les fichiers projet avant de fermer des solutions ou d’obtenir de nouveaux fichiers à partir du contrôle de code source lors de l’ouverture d’un projet. | VSPackage du contrôle de code source | Recommandé |