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 | |
---|---|---|
GetDefaultColors | Define as cores de primeiro plano e plano de fundo padrão para um item de colorable personalizado. | |
GetDefaultFontFlags | Retorna o padrão de sinalizadores de fonte para o item colorable personalizado. | |
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