Partilhar via


Interface IVsColorableItem

Fornece informações de nome de item para um item de colorable personalizado, estilo da fonte e cores de fonte padrão.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)

Sintaxe

'Declaração
<InterfaceTypeAttribute()> _
<GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")> _
Public Interface IVsColorableItem
[InterfaceTypeAttribute()]
[GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")]
public interface IVsColorableItem
[InterfaceTypeAttribute()]
[GuidAttribute(L"56694A40-78D0-45DD-AB15-681BC207579C")]
public interface class IVsColorableItem
[<InterfaceTypeAttribute()>]
[<GuidAttribute("56694A40-78D0-45DD-AB15-681BC207579C")>]
type IVsColorableItem =  interface end
public interface IVsColorableItem

O tipo IVsColorableItem expõe os membros a seguir.

Métodos

  Nome Descrição
Método público GetDefaultColors Define as cores de primeiro plano e plano de fundo padrão para um item de colorable personalizado.
Método público GetDefaultFontFlags Retorna o padrão de sinalizadores de fonte para o item colorable personalizado.
Método público GetDisplayName Obtém o nome de exibição do item colorable personalizado.

Superior

Comentários

O nome de exibição para o item colorable personalizado deve ser localizado.

Os valores de cor retornados por esta interface são cores predefinidas. Valores de high color (24 bits) podem ser retornadas por meio do IVsHiColorItem interface. Consulte o IVsHiColorItem interface para obter um exemplo.

Como implementar itens personalizados de colorable é descrito em Personalizar itens Colorable.

Observações para implementadores

Implemente essa interface para fornecer informações de fonte e o nome sobre um item de colorable personalizado que é retornado de um serviço de linguagem.

Se você quiser suporte a high color valores, você deve implementar a IVsHiColorItem interface no mesmo objeto que implementa o IVsColorableItem interface.

Observações para chamadores

Um IVsColorableItem objeto pode ser obtido chamando o GetColorableItem método na IVsProvideColorableItems interface.

Exemplos

Este exemplo é de um serviço de linguagem.

using Microsoft.VisualStudio.TextManager.Interop;

namespace MyNamespace
{
    internal class MyColorItem : IVsColorableItem
    {
        //==========================================================
        // Private fields.
        private COLORINDEX foreColor;
        private COLORINDEX backColor;
        private FONTFLAGS fontFlags;
        private string name;
        private string displayName;

        //==========================================================
        // Public constructor.

        public MyColorItem(string name,
                           string displayName,
                           COLORINDEX foreColor,
                           COLORINDEX backColor,
                           FONTFLAGS fontFlags)
        {
            this.name = name;
            this.displayName = displayName;
            this.foreColor = foreColor;
            this.backColor = backColor;
            this.fontFlags = fontFlags;
        }


        //==========================================================
        // IVsColorableItem methods.
        #region IVsColorableItem Members

        int IVsColorableItem.GetDefaultColors(COLORINDEX[] piForeground,
                                              COLORINDEX[] piBackground)
        {
            int retval = VSConstants.E_POINTER;
            if (piForeground != null)
            {
                piForeground[0] = this.foreColor;
                retval = VSConstants.S_OK;
            }
            if (piBackground != null)
            {
                piBackground[0] = this.backColor;
            }
            return retval;
        }

        int IVsColorableItem.GetDefaultFontFlags(out uint pdwFontFlags)
        {
            pdwFontFlags = (uint)this.fontFlags;
            return VSConstants.S_OK;
        }

        int IVsColorableItem.GetDisplayName(out string pbstrName)
        {
            pbstrName = this.displayName;
            return VSConstants.S_OK;
        }

        #endregion
    }


    //==============================================================
    // Example of how to instantiate the MyColorItem class.

    public class MyLanguageService
    {
        private ColorableItem[] colorableItemsList;

        public MyLanguageService()
        {
            colorableItemsList = {
                new MyColorableItem("MyLanguage- Text",
                                    "MyLanguage- Text",
                                    COLORINDEX.CI_SYSPLAINTEXT_FG,
                                    COLORINDEX.CI_SYSPLAINTEXT_BK,
                                    FONTFLAGS.FF_BOLD),

                new MyColorableItem("MyLanguage- Keyword",
                                    "MyLanguage- Keyword",
                                    COLORINDEX.CI_MAROON,
                                    COLORINDEX.CI_SYSPLAINTEXT_BK,
                                    FONTFLAGS.FF_BOLD),

                new MyColorableItem("MyLanguage- Operator",
                                    "MyLanguage- Operator",
                                    COLORINDEX.CI_DARKBLUE,
                                    COLORINDEX.CI_BLUE,
                                    FONTFLAGS.FF_PLAIN)
            };
        }
    }
}

Consulte também

Referência

Namespace Microsoft.VisualStudio.TextManager.Interop

Outros recursos

Personalizar itens Colorable