Udostępnij za pośrednictwem


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
Metoda publiczna ColorableItem Inicjuje ColorableItem klasy i akceptuje wszystkie informacje potrzebne do opisu elementu colorable.

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona 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).
Metoda publiczna GetCanonicalName Pobiera nazwę kanoniczną elementu colorable.
Metoda publiczna GetColorData Get high color określony element pierwszego planu lub tła.
Metoda publiczna GetDefaultColors Zwraca wartość koloru pierwszego planu i tła dla tego elementu colorable.
Metoda publiczna GetDefaultFontFlags Zwraca atrybuty czcionki dla tego elementu colorable.
Metoda publiczna GetDescription Zwraca opis tego elementu colorable.
Metoda publiczna GetDisplayName Zwraca nazwę tego elementu colorable.
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetMergingPriority Zwraca priorytet ma tego elementu colorable, gdy w porównaniu do innych elementów colorable o tej samej nazwie.
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna 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.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Package