Compartilhar via


Método IVsColorizer.ColorizeLine

Colore o texto fornecido.

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

Sintaxe

'Declaração
Function ColorizeLine ( _
    iLine As Integer, _
    iLength As Integer, _
    pszText As IntPtr, _
    iState As Integer, _
    <OutAttribute> pAttributes As UInteger() _
) As Integer
int ColorizeLine(
    int iLine,
    int iLength,
    IntPtr pszText,
    int iState,
    uint[] pAttributes
)
int ColorizeLine(
    [InAttribute] int iLine, 
    [InAttribute] int iLength, 
    [InAttribute] IntPtr pszText, 
    [InAttribute] int iState, 
    [OutAttribute] array<unsigned int>^ pAttributes
)
abstract ColorizeLine : 
        iLine:int * 
        iLength:int * 
        pszText:IntPtr * 
        iState:int * 
        pAttributes:uint32[] byref -> int
function ColorizeLine(
    iLine : int, 
    iLength : int, 
    pszText : IntPtr, 
    iState : int, 
    pAttributes : uint[]
) : int

Parâmetros

  • iLine
    Tipo: Int32

    [in] Linha a ser coloridas.

  • iLength
    Tipo: Int32

    [in] Comprimento da linha menos o marcador de fim de linha (CR, LF, CRLF par ou 0 (EOF)).

  • pszText
    Tipo: IntPtr

    [in] Texto da linha (Examinar até iLength caracteres).

  • iState
    Tipo: Int32

    [in] Estado do colorizer no início da linha.

  • pAttributes
    Tipo: array<UInt32[]

    [out] Uma matriz de atributos de cor a ser preenchido para o texto. A matriz contém um membro para cada caractere na linha coloridas e um elemento adicional que representa a cor de plano de fundo do espaço à direita do último caractere. Esta matriz é iLength + 1 caracteres.

    Os membros a pAttributes matriz pode conter os bits que podem ser mascarados com os vários valores fornecidos na COLORIZER_ATTRIBUTE enumeração para obter as informações necessárias. Para obter mais informações, consulte COLORIZER_ATTRIBUTE.

Valor de retorno

Tipo: Int32
Retorna o estado do colorizer no final da linha.

Comentários

COM assinatura

De textmgr.idl:

HRESULT IVsColorizer::ColorizeLine(
   [in] long iLine,
   [in] long iLength,
   [in] const WCHAR *pszText,
   [in] long iState,
   [out] ULONG * pAttributes
);

Qualquer implementação deste método deve analisar a linha de entrada (pszText) para tokens colorir.

Para cada caractere em uma determinada linha, o elemento correspondente da matriz retornada em pAttributes contém um índice na matriz do serviço de linguagem de colorizable itens, como, por exemplo, comentários, identificadores e números.

Valores retornados a pAttributes matriz são índices de itens colorable padrão fornecidos pelo Visual Studio ou em itens personalizados colorable fornecidos pelo serviço de linguagem (consulte GetColorableItem na IVsProvideColorableItems interface). Um índice de 0 significa sempre a cor do texto padrão como fornecida pela Visual Studio.

O colorizer deve iniciar no estado fornecido e retornar seu estado atual, que é armazenado em cache e fornecido posteriormente como o estado inicial quando a próxima linha é colorida. A matriz de índice dada é garantida ser maior do que o número de caracteres na linha de um elemento. O último elemento é usado para determinar a cor de plano de fundo do espaço à direita do último caractere na linha.

Um colorizer deve marcar o texto deve ser tratado como texto em idioma natural humano com o HUMAN_TEXT_ATTR bit. Este bit deve ser definido para o conteúdo de comentários e cadeias de caracteres, excluindo os delimitadores e é usado para obter o layout correto do texto bidirecional. O HUMAN_TEXT_ATTR bit também é usado para determinar quando aplicar regras de linguagem natural em vez de programação de regras de idioma, por exemplo, para limites de palavra e de verificação ortográfica.

Segurança do .NET Framework

Consulte também

Referência

IVsColorizer Interface

Namespace Microsoft.VisualStudio.TextManager.Interop