Поделиться через


IVsColorizer.ColorizeLine - метод

Colorizes заданный текст.

Пространство имен:  Microsoft.VisualStudio.TextManager.Interop
Сборка:  Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)

Синтаксис

'Декларация
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

Параметры

  • iLine
    Тип: Int32

    [in] линию для colorized.

  • iLength
    Тип: Int32

    [in] длина линии минус пары метка конца линии (CR, LF, CRLF или 0 (EOF)).

  • pszText
    Тип: IntPtr

    [in] текст (просмотрите до линий iLength символы).

  • iState
    Тип: Int32

    [in] состояние colorizer в начале линии.

  • pAttributes
    Тип: array<UInt32[]

    [out] массив атрибутов цвета для заполнения для текста. Массив содержит один элемент для каждого символа в colorized линии и дополнительный элемент, представляющий цвет фона пробелы справа от последнего символа. Этот массив iLength + 1 символов в длину.

    Члены pAttributes массив может содержать биты, которые могут быть различные значения в предоставленных с замаскировать COLORIZER_ATTRIBUTE перечисление для получения сведений обязательно. Дополнительные сведения см. в разделе COLORIZER_ATTRIBUTE.

Возвращаемое значение

Тип: Int32
Возвращает состояние colorizer в конце линии.

Заметки

Модель COM подписи

Из textmgr.idl:

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

Любая реализация этого метода необходимо проанализировать входное (линияpszTextдля маркеров для) цветом.

Для каждого символа в заданной линии, соответствующий элементу массива, возвращаемого в пределах pAttributes содержит индекс в массиве языковой службы colorizable элементов, комментариев, как идентификаторы и цифры.

Значения, возвращаемые в GetColorableItem массив индексов по умолчанию цветного элементы, предоставляемые by IVsProvideColorableItems или в пользовательские цветного элементы, предоставляемые службой языка (см. pAttributes в Visual Studio интерфейс). Индекс 0 всегда означает по умолчанию цвет текста, как указано by Visual Studio.

Colorizer должно начинаться в указанном состоянии, и возвращает свое текущее состояние, которое кэшируется и обеспечивается более поздней версии, так как состояние запуска, когда в следующей colorized линия. Гарантированно будет указанного массива индекса, который один элемент больше времени, чем количество символов в линии. Последний элемент используется, чтобы указать цвет фона пробелы справа от последнего символа на линии.

Следует отметить colorizer текст, отображаемый в виде текста естественн-языка с людское HUMAN_TEXT_ATTR бит. Этот бит должен быть задан для содержимого комментариев и строк без разделителей и используется для получения правильную структуру двухнаправленного текста. HUMAN_TEXT_ATTR бит также используется для определения момента применения правила естественных языков вместо правил языка программирования, например для границ проверка орфографии и машинного слова.

Безопасность платформы .NET Framework

См. также

Ссылки

IVsColorizer Интерфейс

Microsoft.VisualStudio.TextManager.Interop - пространство имен