ColorableItem, classe
Fournit une implémentation par défaut de l'interface IVsColorableItem de VSIP.
Cette API n'est pas conforme CLS.
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.Package.ColorableItem
Espace de noms : Microsoft.VisualStudio.Package
Assemblys : Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Syntaxe
'Déclaration
<ComVisibleAttribute(True)> _
<CLSCompliantAttribute(False)> _
Public Class ColorableItem _
Implements IVsColorableItem, IVsHiColorItem, IVsMergeableUIItem
[ComVisibleAttribute(true)]
[CLSCompliantAttribute(false)]
public class ColorableItem : IVsColorableItem,
IVsHiColorItem, IVsMergeableUIItem
Le type ColorableItem expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
ColorableItem | Initialise la classe d'ColorableItem et reçoit toutes les informations nécessaires pour décrire un élément coloriable. |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetCanonicalName | Obtient le nom canonique d'un élément coloriable. | |
GetColorData | Obtenez l'élément spécifié de premier plan ou d'arrière-plan de 65536 couleurs. | |
GetDefaultColors | Retourne le premier plan et la couleur d'arrière-plan pour cet élément coloriable. | |
GetDefaultFontFlags | Retourne les attributs de police pour cet élément coloriable. | |
GetDescription | Retourne une description pour cet élément coloriable. | |
GetDisplayName | Retourne le nom de cet élément coloriable. | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetMergingPriority | Retourne la priorité que que cet élément coloriable a une fois comparé à d'autres éléments qui autorisent la modification de la couleur de la même chose nomment. | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Remarques
Cette classe est utilisée pour définir des couleurs personnalisées utilisées par le service de langage pour mettre en surbrillance de syntaxe.La méthode d'GetColorableItem sur votre implémentation de la classe d'LanguageService retourne un objet spécifié d'IVsColorableItem.
Remarques à l'attention des implémenteurs
Cette classe peut être utilisée pour implémenter l'interface d'IVsColorableItem.Construisez simplement une nouvelle instance de cette classe pour chaque couleur personnalisée que que vous souhaitez implémenter, et retourne ensuite l'élément coloriable approprié de la méthode d'GetColorableItem.
L'emplacement idéal pour construire une matrice de couleurs personnalisées est dans le constructeur de votre implémentation de la classe d'LanguageService.Si vous prenez en charge la personnalisation des couleurs, vous initialiseriez cette matrice dans l'LanguageService.CreateDocumentProperties après que l'objet d'DocumentProperties ait été créé.
Remarques à l'attention des appelants
Cette classe est en général utilisée par la classe d'Colorizer dans son implémentation d'ColorizeLine.
Exemples
Cela montre un exemple de l'implémentation d'LanguageService qui des prises en charge deux couleurs personnalisées (supplémentaire peut être facilement ajouté).Notez que le premier élément coloriable jamais est référencé et réellement est utilisé comme espace réservé (tous les index de couleurs sont passés au début d'GetColorableItem à 1).
[C#]
namespace MyLanguagePackage
{
[Guid("B614A40A-80D9-4fac-A6AD-FC2868FFF7CD")]
public class MyLanguageService : LanguageService
{
private ColorableItem[] m_colorableItems;
public MyLanguageService()
: base()
{
m_colorableItems = new ColorableItem[] {
new ColorableItem("Text",
COLORINDEX.CI_SYSPLAINTEXT_FG,
COLORINDEX.CI_SYSPLAINTEXT_BK,
System.Drawing.Color.Empty,
System.Drawing.Color.Empty,
FONTFLAGS.FF_DEFAULT),
new ColorableItem("Keyword",
COLORINDEX.CI_MAROON,
COLORINDEX.CI_SYSPLAINTEXT_BK,
System.Drawing.Color.Empty,
System.Drawing.Color.Empty,
FONTFLAGS.FF_BOLD),
new ColorableItem("Comment",
COLORINDEX.CI_GREEN,
COLORINDEX.CI_SYSPLAINTEXT_BK,
System.Drawing.Color.Empty,
System.Drawing.Color.Empty,
FONTFLAGS.FF_DEFAULT)
};
}
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.