Interface IVsProvideColorableItems
Informa o editor de código sobre itens personalizados de colorable, proffered pelo serviço de linguagem.
Namespace: Microsoft.VisualStudio.TextManager.Interop
Assembly: Microsoft.VisualStudio.TextManager.Interop (em Microsoft.VisualStudio.TextManager.Interop.dll)
Sintaxe
'Declaração
<GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")> _
<InterfaceTypeAttribute()> _
Public Interface IVsProvideColorableItems
[GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")]
[InterfaceTypeAttribute()]
public interface IVsProvideColorableItems
[GuidAttribute(L"100B9A33-905C-4312-B2A2-452189F19AB9")]
[InterfaceTypeAttribute()]
public interface class IVsProvideColorableItems
[<GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")>]
[<InterfaceTypeAttribute()>]
type IVsProvideColorableItems = interface end
public interface IVsProvideColorableItems
O tipo IVsProvideColorableItems expõe os membros a seguir.
Métodos
Nome | Descrição | |
---|---|---|
GetColorableItem | Determina as informações do item para cada item personalizado de colorable proffered pelo serviço de linguagem. | |
GetItemCount | Determina o número de itens personalizados de colorable, proffered pelo serviço de linguagem. |
Superior
Comentários
Com a implementação de IVsProvideColorableItems, você proffer itens colorable personalizados para o editor de núcleo e informar o editor do núcleo do número de itens colorable fornecidos e quais são suas configurações de cor/negrito padrão. O editor de núcleo gerencia seleções de cores atual do usuário para seus colorable itens (como definido na Opções caixa de diálogo na Ferramentas menu). Como os itens de colorable padrão, o idioma não tem controle direto sobre a aparência visual de seus itens colorable, além de especificar seus valores padrão.
Essa interface é usada para informar o editor de elementos de linguagem além daquelas fornecidas pelo DEFAULTITEMS. Não tente redefinir elementos de linguagem existente (por exemplo, comentários ou palavras-chave) e não use o mesmo nome como elementos de linguagem existente ou padrão.
Observações para implementadores
Para oferecer suporte a itens personalizados de colorable no seu serviço de idioma, você deve implementar essa interface da mesma classe que implementa o IVsLanguageInfo de interface e fornecer suporte para acessar a interface por meio do QueryInterface método. Implementar os métodos na IVsProvideColorableItems interface, você precisa de uma lista de IVsColorableItems para oferecer sob demanda (consulte a IVsColorableItem interface para obter um exemplo de como criar uma lista de itens personalizados de colorable).
Observações para chamadores
Um editor obtém essa interface chamando o QueryInterface método na IVsLanguageInfo interface que representa um serviço de linguagem.
Exemplos
Aqui está um exemplo de como esta interface pode ser implementada em um serviço de linguagem. O exemplo de IVsColorableItem interface mostra como implementar a MyColorableItem classe.
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;
namespace MyLanguagePackage
{
class MyLanguageService : IVsLanguageInfo, IVsProvideColorableItems
{
private MyColorableItems colorableItemsList[];
public MyLanguageService()
{
// populate the colorableItemsList here.
}
public int GetItemCount(out int piCount)
{
piCount = 0;
if (this.colorableItemsList != null)
{
if (this.colorableItemsList.Length > 0)
{
// The first color is a placeholder and is
// never counted.
piCount = this.colorableItemsList.Length - 1;
}
}
return VSConstants.S_OK;
}
public int GetColorableItem(int iIndex, out IVsColorableItem ppItem)
{
int retval = VsConstants.E_INVALIDARG;
ppItem = null;
if (this.colorableItemList != null &&
iIndex >= 0 && iIndex < this.colorableItemList.Length)
{
ppItem = this.colorableItemsList[iIndex];
retval = VSConstants.S_OK;
}
return retval;
}
}
}