Partager via


Contrôle Glyphe (VSPackage de contrôle de code source)

Une partie de l’intégration approfondie disponible pour les VSPackages de contrôle de code source est la possibilité d’afficher leurs propres glyphes pour indiquer l’état des éléments sous contrôle de code source.

Niveaux de contrôle de glyphe

Un glyphe d’état est une icône qui indique l’état actuel d’un élément lorsqu’il est affiché, par exemple dans Explorateur de solutions ou en mode Classe. Un VSPackage de contrôle de code source peut exercer deux niveaux de contrôle de glyphe. Il peut limiter le choix des glyphes à un ensemble prédéfini de glyphes fournis par l’IDE Visual Studio, ou définir un ensemble personnalisé de glyphes à afficher.

Ensemble par défaut de glyphes

Pour déterminer les glyphes d’état associés à un élément dans Explorateur de solutions, un projet demande le glyphe d’état du contrôle de code source à l’aide du GetSccGlyph. Un VSPackage de contrôle de code source peut décider de conserver le choix des glyphes limités aux glyphes prédéfinis fournis par l’IDE. Dans ce cas, VSPackage transmet un tableau de valeurs représentant les énumérations de glyphes définies dans vsshell.idl. Pour plus d’informations, consultez VsStateIcon. Il s’agit d’un ensemble prédéfini de glyphes définis par l’IDE, tel qu’un cadenas pour le glyphe case activée ed-in, et une marque case activée pour le glyphe case activée ed-out.

Ensemble personnalisé de glyphes

Un VSPackage de contrôle de code source peut utiliser ses propres glyphes pour une apparence unique lorsqu’il est installé. Lorsqu’un nouveau VSPackage de contrôle de code source est actif, il doit être en mesure de commencer à utiliser ses propres glyphes, même si un VSPackage de contrôle de code source précédent est toujours chargé mais inactif. Dans ce mode, vsPackage du contrôle de code source peut toujours utiliser les icônes existantes afin de maintenir une apparence cohérente avec Visual Studio si elle le choisit.

Le SVsSccManager service prend en charge une interface, IVsSccGlyphsque le VSPackage peut éventuellement implémenter et qui sera demandé par l’IDE. Lorsque l’IDE effectue une requête, Visual Studio essaiera à son tour d’obtenir cette interface à partir du VSPackage du contrôle de code source actuellement inscrit. Si l’interface existe dans le VSPackage inscrit, la demande de l’IDE pour les glyphes personnalisés réussit ; sinon, l’IDE Visual Studio utilise son ensemble par défaut de glyphes.

La GetCustomGlyphList méthode est utilisée par Visual Studio pour obtenir une liste d’images montrant différents états de contrôle de code source. Le VSPackage du contrôle de code source retourne à l’IDE un handle de la liste d’images pour ses glyphes personnalisés. L’IDE effectue une copie de la liste d’images à ce stade et l’utilise ultérieurement pour choisir les glyphes à afficher. Si la nouvelle interface n’est pas prise en charge ou si la IVsSccGlyphs::GetCustomGlyphList méthode retourne E_NOTIMPL, l’IDE obtient ses glyphes à partir de la liste par défaut des glyphes fournis par Visual Studio.