Klasa ColorableItem
Domyślna implementacja interfejsu VSIP zapewnia IVsColorableItem.
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Package.ColorableItem
Przestrzeń nazw: Microsoft.VisualStudio.Package
Zestawy: Microsoft.VisualStudio.Package.LanguageService (w Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (w Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (w Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (w Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Składnia
'Deklaracja
<ComVisibleAttribute(True)> _
<CLSCompliantAttribute(False)> _
Public Class ColorableItem _
Implements IVsColorableItem, IVsHiColorItem, IVsMergeableUIItem
[ComVisibleAttribute(true)]
[CLSCompliantAttribute(false)]
public class ColorableItem : IVsColorableItem,
IVsHiColorItem, IVsMergeableUIItem
Typ ColorableItem uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
ColorableItem | Inicjuje ColorableItem klasy i akceptuje wszystkie informacje potrzebne do opisu elementu colorable. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). | |
Finalize | Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object). | |
GetCanonicalName | Pobiera nazwę kanoniczną elementu colorable. | |
GetColorData | Get high color określony element pierwszego planu lub tła. | |
GetDefaultColors | Zwraca wartość koloru pierwszego planu i tła dla tego elementu colorable. | |
GetDefaultFontFlags | Zwraca atrybuty czcionki dla tego elementu colorable. | |
GetDescription | Zwraca opis tego elementu colorable. | |
GetDisplayName | Zwraca nazwę tego elementu colorable. | |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). | |
GetMergingPriority | Zwraca priorytet ma tego elementu colorable, gdy w porównaniu do innych elementów colorable o tej samej nazwie. | |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). | |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). | |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
Początek
Uwagi
Ta klasa jest używana do definiowania niestandardowych kolorów używanych przez usługę wyróżnianie składni języka.GetColorableItem Metody implementacji LanguageService klasy zwraca wartość określonego IVsColorableItem obiektu.
Uwagi dotyczące implementacji
Ta klasa może służyć do wprowadzenia w życie IVsColorableItem interfejsu.Po prostu skonstruować nowe wystąpienie tej klasy dla każdego koloru niestandardowego, które chcą zaimplementować, a następnie zwrócić odpowiedni element colorable z GetColorableItem metody.
Jest idealnym miejscem do konstruowania tablicy kolorów niestandardowych, w konstruktorze implementacji LanguageService klasy.Jeśli obsługuje dostosowywania kolorów, a następnie będzie zainicjować tej tablicy w LanguageService.CreateDocumentProperties po DocumentProperties obiekt został utworzony.
Uwagi dotyczące wywoływania
Ta klasa jest zazwyczaj używana przez Colorizer klasy w realizacji ColorizeLine.
Przykłady
Ten przykład pokazuje, jak LanguageService implementacja obsługuje dwa kolory niestandardowe (więcej można łatwo dodać).Należy zauważyć, że pierwszy element colorable odwołuje się nigdy faktycznie i jest używana jako symbol zastępczy (wszystkie wskaźniki kolorów przekazany do GetColorableItem rozpoczynają się od 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)
};
}
}
}
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.