contrôle de glyphe (contrôle de code source VSPackage)
Une partie de l'intégration profonde disponible au contrôle de code source VSPackages 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 en cas de rendu, par exemple dans Explorateur de solutions ou dans Affichage de classes. Un contrôle de code source VSPackage peut avoir deux niveaux de contrôle de glyphe. Elle peut limiter le choix des glyphes à un ensemble prédéfini de glyphes fournis par Visual Studio l'IDE, ou elle peut définir un jeu personnalisé de glyphes à afficher.
La cible par défaut le jeu de glyphes
Pour déterminer les glyphes d'état qui sont associés à un élément dans Explorateur de solutions, demandes d'un projet le glyphe d'état du contrôle de code source à l'aide de l' GetSccGlyph. Un contrôle de code source VSPackage peut décider de conserver le choix des glyphes limitent aux glyphes intégrés fournis par l'IDE. Dans ce cas, les passes de VSPackage à un tableau de valeurs représentant les énumérations de glyphe qui sont définies dans vsshell.idl. Pour plus d'informations, consultez l' VsStateIcon . Il s'agit d'un ensemble prédéfini de glyphes définis par l'IDE, tel qu'un cadenas pour « signé » le glyphe, et une coche comme « vérifié » glyphe.
personnalisé défini des glyphes
Un contrôle de code source VSPackage peut utiliser ses propres glyphes pour une unique « apparence » lorsqu'elle est installée. Lorsqu'un nouveau contrôle de code source VSPackage est actif, il doit pouvoir commencer à utiliser ses propres glyphes même si un contrôle de code source précédent VSPackage est chargé mais inactif. Dans ce mode, le contrôle de code source VSPackage peut toujours utiliser les icônes existantes pour conserver un être compatible avec Visual Studio s'il choisit.
Le service prend en charge d' SVsSccManager une interface, IVsSccGlyphs, que le VSPackage peut éventuellement implémenter et qui sera pas par l'IDE. Lorsque l'IDE établit une demande, Visual Studio tente ensuite d'obtenir cette interface du contrôle de code source actuellement inscrit VSPackage. Si l'interface existe dans le VSPackage enregistré, la demande de l'IDE de glyphes personnalisés aboutit ; sinon, Visual Studio l'IDE utilise son ensemble par défaut des glyphes.
La méthode d' GetCustomGlyphList est utilisée par Visual Studio pour obtenir une liste d'images affichage de différents états du contrôle de code source. Le contrôle de code source VSPackage retourne à l'IDE un handle à la liste d'images pour ses glyphes personnalisés. L'IDE crée une copie de la liste d'images à ce stade et l'utiliser ultérieurement pour choisir les glyphes à afficher. Si la nouvelle interface n'est pas prise en charge la méthode ou de IVsSccGlyphs::GetCustomGlyphList retourne E_NOTIMPL, alors l'IDE obtient ses glyphes de la liste par défaut de glyphes fournis par Visual Studio.