Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les tableaux suivants s’étendent sur le modèle de projet. Les tableaux présentent de brèves descriptions des interfaces et services identifiés dans le modèle, ainsi que les interfaces et services associés à des objets spécifiques. En outre, les tables détaillent d’autres interfaces facultatives dans la création et la maintenance du projet en fonction des exigences de votre type de projet spécifique.
Pour plus d’informations, consultez Prise en charge des outils de navigation par symboles.
Objet Package
| Interface | Commentaires |
|---|---|
| IVsPackage | Initialise un VSPackage dans l’IDE et met ses services à la disposition de l’IDE. |
Objet Project Factory
| Interface | Commentaires |
|---|---|
| IVsProjectFactory | Gère la création de projets et l’ouverture de projets existants. |
Objets project
| Interfaces | Commentaires |
|---|---|
| IVsProject3 | Gère l’ajout et la suppression d’éléments de projet, ouvre des éditeurs et gère le mappage entre chaque moniker de document et le VSITEMID. Hérite de IVsProject et IVsProject2. |
| IVsHierarchy | Gère les propriétés de navigation et d’affichage et fournit des événements. |
| IVsUIHierarchy | Active l’exécution de commandes similaire à celle des IOleCommandTarget commandes telles que Cut et Rename qui s’appliquent uniquement lorsque le focus se trouve dans Explorateur de solutions. |
| IOleCommandTarget | Sert d’interface cible de commande principale pour une hiérarchie de projet. Il s’agit de l’interface standard pour interroger des objets pour leur état de commande ou leur état et exécuter des commandes. Disponible lorsque vous n’êtes pas concentré dans la fenêtre Projet. |
| IPersistFileFormat | Coordonne la persistance de l’état du projet. En règle générale, l’état du projet est stocké en tant que fichier projet, mais peut être adapté aux systèmes de stockage qui ne sont pas basés sur des fichiers. |
| IVsPersistHierarchyItem2 | Permet au projet de gérer tous les aspects de persistance de ses éléments de projet, en tant que fichiers sur disque ou objets dans d’autres systèmes de stockage. L’interface IVsPersistHierarchyItem2 est utilisée pour les éléments qui n’implémentent pas l’interface IVsPersistDocData2 . |
| IVsSccProject2 | Coordonne les interactions avec le contrôle de code source. |
| IVsProjectFlavorCfgProvider | Permet aux projets de gérer les informations de configuration. |
| IVsCfgProvider2 | Gère les objets de configuration de projet, tels que les configurations Debug/Release. Les opérations de génération, de déploiement et de débogage sont coordonnées via des objets de configuration de projet. |
| IVsHierarchyDeleteHandler | Implémenté par des hiérarchies pour contrôler les options de suppression (destructrice) ou de suppression (non destructrice) pour les éléments de hiérarchie. Appeler l’interface de requête sur l’interface IVsHierarchyDeleteHandler à partir de l’interface IVsHierarchy . |
| IVsGetCfgProvider | Fournit l’option d’implémentation d’avoir l’objet qui prend en charge l’interface IVsCfgProvider2 sur une identité COM différente de celle de l’objet projet qui implémente l’interface IVsHierarchy . |
| IVsProjectStartupServices | Interface facultative implémentée pour rendre votre projet extensible par d’autres développeurs. L’interface IVsProjectStartupServices permet à un VSPackage tiers d’inscrire un GUID que vous conservez dans votre fichier projet afin que chaque fois que votre projet se charge, vous chargez le GUID du service tiers dans votre fichier projet et appelez QueryService ce GUID. |
| IVsUIHierWinClipboardHelperEvents | Implémenté par des hiérarchies sources dans une UIHierarchy fenêtre pour coordonner les opérations de Presse-papiers telles que couper, copier et coller. Utilisez l’interface AdviseClipboardHelperEvents pour inscrire les événements du Presse-papiers. |
| IVsHierarchyDropDataSource2 | Fournit des informations sur un élément déplacé par rapport à sa source de données pendant une opération de glisser-déplacer dans une fenêtre de hiérarchie d’interface utilisateur. Appelé à partir de l’interface IVsHierarchy . |
| IVsHierarchyDropDataTarget | Fournit des informations sur un élément déplacé par rapport à sa cible de déplacement pendant une opération de glisser-déplacer dans une fenêtre de hiérarchie d’interface utilisateur. Appelé à partir de l’interface IVsHierarchy . |
Objet de configuration
| Interfaces | Commentaires |
|---|---|
| IVsCfg | Fournit des informations sur une configuration. |
| IVsProjectCfg2 | Permet aux projets de gérer les informations de configuration. |
| IVsDebuggableProjectCfg | Permet à un projet d’être exécuté sous le contrôle du débogueur. |
| IVsDeployableProjectCfg | Implémenté par des projets de déploiement qui effectuent des opérations de déploiement pour d’autres projets. |
Objet Configuration Builder
| Interfaces | Commentaires |
|---|---|
| IVsBuildableProjectCfg | Gère l’opération de génération d’une configuration de projet. |
Objets Project supplémentaires
| Interfaces | Commentaires |
|---|---|
IDispatchISpecifyPropertyPages |
Affiche les propriétés d’élément dans la fenêtre Propriétés . |
| IVsOutput2 IVsEnumOutputs |
Affiche les sorties pour le déploiement. |
Le tableau suivant présente de brèves descriptions des services identifiés dans le modèle de projet.
Services
| Service | Commentaires |
|---|---|
| SVsRegisterProjectTypes | Utilisé par les VSPackages qui implémentent des types de projet pour inscrire que leur fabrique de projet existe auprès de l’IDE. Votre VSPackage doit appeler QueryService ce service et inscrire sa fabrique de projet quand IVsPackage::SetSite la méthode est appelée. Si la SetSite méthode n’est pas appelée, votre projet n’est pas instancié. |
| SVsSolution | Fournit l’accès à la notion interne et intégrée de l’IDE de la solution actuelle, telle que la possibilité d’énumérer des projets, de créer de nouveaux projets, de prendre connaissance des modifications de projet, etc. |
| SVsSccManager | Appelé par les projets qui souhaitent participer au contrôle de code source. |
| SVsRunningDocumentTable | Conserve une table des documents ouverts pour déterminer si un ou plusieurs de vos éléments de projet sont déjà ouverts. |
| SVsUIShellOpenDocument | Contient les interfaces et méthodes appelées pour ouvrir un élément de projet à l’aide de l’éditeur standard ou d’un éditeur spécifique. |
| SVsTrackProjectDocuments | Obligatoire pour être appelé par tous les projets lorsqu’ils ajoutent, suppriment ou renomment leurs éléments. |
| SVsFileChangeEx | Gère les modifications apportées à un fichier ou à un répertoire et avertit les clients lorsque les fichiers sélectionnés ont été modifiés sur le disque. |
| SVsQueryEditQuerySave | Obligatoire pour être appelé par tous les projets et éditeurs avant qu’ils sale des éléments ou les enregistrent. |
| SVsSolutionBuildManager | Gère l’ordre des opérations de génération et de déploiement pour les configurations de projet. |
| SVsShellDebugger | Fournit l’accès aux services de débogueur de bas niveau utilisés pour la plupart des contrôles de débogage. |
| SVsShellMonitorSelection | Permet aux VSPackages d’accéder à des informations sur les sélections actuelles et active la communication avec la fenêtre Propriétés . |
| SVsUIShell | Fournit des fonctionnalités d’IDE liées à l’interface utilisateur de base, telles que la possibilité de créer et d’énumérer des fenêtres d’outils ou des fenêtres de document ou de signaler une erreur à l’utilisateur. |
| SVsStatusbar | Fournit l’accès à la barre d’état de l’IDE. |
| IVsExtensibility3 | Utilisé pour implémenter le modèle d’automatisation. Dans votre modèle de projet, vous retournerez un objet de propriétés qui vous permet de créer une instance de cet objet. |
| SVsUIHierWinClipboardHelper | Permet d’implémenter des événements de Presse-papiers sur l’objet projet dans la hiérarchie. SVsUIHierWinClipboardHelper vous permet de gérer correctement les opérations couper, copier et coller. |