Classe ColorableItem
Fornece uma implementação padrão da interface do VSIP IVsColorableItem.
Esta API não compatível com CLS.
Hierarquia de herança
System.Object
Microsoft.VisualStudio.Package.ColorableItem
Namespace: Microsoft.VisualStudio.Package
Assemblies: Microsoft.VisualStudio.Package.LanguageService (em Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (em Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (em Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (em Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Sintaxe
'Declaração
<ComVisibleAttribute(True)> _
<CLSCompliantAttribute(False)> _
Public Class ColorableItem _
Implements IVsColorableItem, IVsHiColorItem, IVsMergeableUIItem
[ComVisibleAttribute(true)]
[CLSCompliantAttribute(false)]
public class ColorableItem : IVsColorableItem,
IVsHiColorItem, IVsMergeableUIItem
O tipo ColorableItem expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
ColorableItem | Inicializa o ColorableItem de classe e aceita todas as informações necessárias para descrever um item colorable. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Equals | determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.) | |
GetCanonicalName | Obtém o nome canônico de um item de colorable. | |
GetColorData | Obtenha o elemento de primeiro plano ou plano de fundo de cor especificada de alta. | |
GetDefaultColors | Retorna a cor de primeiro plano e plano de fundo para este item colorable. | |
GetDefaultFontFlags | Retorna os atributos de fonte para este item colorable. | |
GetDescription | Retorna uma descrição para este item colorable. | |
GetDisplayName | Retorna o nome deste item colorable. | |
GetHashCode | Serve como uma função de hash para um tipo específico. (Herdado de Object.) | |
GetMergingPriority | Retorna a prioridade deste item colorable possui quando comparado a outros itens de colorable o mesmo nome. | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial de Objectatual. (Herdado de Object.) | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) |
Superior
Comentários
Essa classe é usada para definir cores personalizadas, usadas pelo serviço de linguagem para realce de sintaxe.O GetColorableItem método da implementação da LanguageService classe retorna um especificado IVsColorableItem objeto.
Observações para implementadores
Essa classe pode ser usada para implementar a IVsColorableItem interface.Apenas construa uma nova instância dessa classe para cada cor personalizada que você deseja implementar e retorne o item apropriado de colorable da GetColorableItem método.
O lugar ideal para construir uma matriz de cores personalizadas é no construtor da sua implementação da LanguageService classe.Se você oferecer suporte a personalização das cores, você poderia inicializar essa matriz em LanguageService.CreateDocumentProperties após a DocumentProperties o objeto foi criado.
Observações para chamadores
Essa classe é normalmente usada pela Colorizer classe em sua implementação de ColorizeLine.
Exemplos
Isso mostra um exemplo da LanguageService implementação que dê suporte a duas cores personalizadas (mais informações podem ser facilmente adicionadas).Observe que o primeiro item de colorable, na verdade, nunca é consultado e é usado como um espaço reservado (todos os índices de cor é passado para GetColorableItem comece em 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)
};
}
}
}
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.