Condividi tramite


Classe ColorableItem

Fornisce un'implementazione predefinita dell'interfaccia di VSIP IVsColorableItem.

Questa API non è conforme a CLS. 

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Package.ColorableItem

Spazio dei nomi:  Microsoft.VisualStudio.Package
Assembly:   Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)

Sintassi

'Dichiarazione
<ComVisibleAttribute(True)> _
<CLSCompliantAttribute(False)> _
Public Class ColorableItem _
    Implements IVsColorableItem, IVsHiColorItem, IVsMergeableUIItem
[ComVisibleAttribute(true)]
[CLSCompliantAttribute(false)]
public class ColorableItem : IVsColorableItem, 
    IVsHiColorItem, IVsMergeableUIItem

Il tipo ColorableItem espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ColorableItem inizializza ColorableItem la classe e accettare tutte le informazioni necessarie per descrivere un elemento il colore.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetCanonicalName Ottiene il nome canonico di un elemento il colore.
Metodo pubblico GetColorData Ottenere il colore attivato specificato in primo piano o l'elemento in background.
Metodo pubblico GetDefaultColors Restituisce il primo piano e il colore di sfondo di questo elemento il colore.
Metodo pubblico GetDefaultFontFlags Restituisce gli attributi del tipo di carattere per questo elemento il colore.
Metodo pubblico GetDescription Restituisce una descrizione di questo elemento il colore.
Metodo pubblico GetDisplayName Restituisce il nome di questo elemento il colore.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetMergingPriority Restituisce la priorità che questo elemento il colore dispone di una volta rispetto ad altri elementi colorabili dello stesso nome.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

Questa classe viene utilizzata per la definizione dei colori personalizzati utilizzati dal servizio di linguaggio per l'evidenziazione della sintassi.GetColorableItem implementazione del metodo LanguageService la classe restituisce specificato IVsColorableItem oggetto.

Note per gli implementatori

Questa classe può essere utilizzata per la distribuzione IVsColorableItem interfaccia.Creare una nuova istanza di con questa classe per ogni colore personalizzato sul quale si desidera distribuire quindi restituire l'elemento il colore appropriato da GetColorableItem metodo.

Il punto ideale per costruire una matrice di colori personalizzati è nel costruttore dell'implementazione di LanguageService classe.Se supporta la personalizzazione dei colori, quindi inizializzereste questa matrice in LanguageService.CreateDocumentProperties dopo DocumentProperties l'oggetto è stato creato.

Note per i chiamanti

Questa classe viene in genere utilizzata da ColorizeLineclasse nell'implementazione di di Colorizer .

Esempi

Ciò viene illustrato un esempio di LanguageService implementazione di che supporta due colori personalizzati (più facilmente possibile aggiungere).Si noti che il primo elemento il colore mai in realtà viene fatto riferimento e viene utilizzato come segnaposto (tutti gli indici di colore passati a GetColorableItem avviare a 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)
                };
        }
    }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Package