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


Практическое руководство. Укажите развернуто структурирования поддержку

2 Параметра для расширения структурирование поддержку для конкретного языка за обслуживание Свернуть в определения команды. Можно добавить редактор-контролируемые структурные области и добавить клиент-контролируемые структурные области.

Добавление Редактор-контролируемые структурные области

Используйте этот подход для создания структурная область, а затем разрешить редактор для обработки развернут ли область, свернуть и т д 2 Параметров для обеспечения поддержки структуры, данный параметр наименее надежные. Для этого параметра создается новая структурная область над указанным диапазоном текста с использованием AddOutlineRegions. После того, как эта область создана, его функциональности управляется редактором. Используйте следующую процедуру для реализации редактор-контролируемые структурные области.

Реализация редактор-контролируемую структурной область

  1. Вызов QueryService для SVsTextManager

    Возвращает указатель на IVsHiddenTextManager.

  2. Вызов GetHiddenTextSession, передавая в указатель для данного текстового буфера. Возвращает указатель на IVsHiddenTextSession объект буфера.

  3. Вызов QueryInterface на IVsHiddenTextSession для указателя на IVsOutliningSession.

  4. Вызов AddOutlineRegions добавление одного или более новых структурные области одновременно.

    Этот метод позволяет указать диапазон текста для структуризации, удаляются ли существующие структурные области или сохраняются и ли развернут или свернут структурная область по умолчанию.

Добавление Клиент-контролируемые структурные области

Этот подход следует использовать для реализации клиент-контролируемый (или структура), структурирование как Visual C# и Visual Basic языковой службы. Языковую службу, которая управляет собственный структура позволяет контролировать содержимое текстового буфера, чтобы удалить старые структурные области, когда они становятся недопустимыми и создания новых структурные области.

Реализация клиент-контролируемую структурной область

  1. Вызов QueryService для SVsTextManager. Возвращает указатель на IVsHiddenTextManager.

  2. Вызов GetHiddenTextSession, передавая в указатель для данного текстового буфера. Определяет, существует ли сеанс скрытого текста уже буфера.

  3. Если сеанс текст уже существует, то не нужно создать хотя бы один, и указатель к существующим IVsHiddenTextSession объект возвращается. Используйте этот указатель для просмотра и создания структурные области. В противном случае вызов CreateHiddenTextSession создание сеанса скрытого текста для буфера. Указатель на IVsHiddenTextSession объект возвращается.

    Примечание

    При вызове CreateHiddenTextSessionможно указать клиента скрытого текста (т е IVsHiddenTextClient объект).Этот клиент уведомляет о если скрытый текст или структурная область развернуты или свернуты пользователем.

  4. Вызов AddHiddenRegions параметр макета): Укажите значение hrtCollapsible в iType элемент NewHiddenRegion структура, чтобы указать, что создании структурная область, а не скрытая область. Укажите, является ли область или редактор-проконтролирована в клиент-проконтролирована dwBehavior элемент NewHiddenRegion структура. Ваша реализация структуры интеллектуального может содержать смесь редактора и клиент-контролируемые структурные области. Укажите текст баннера, которое отображается, если ваша структурная область свернута, например "…" в pszBanner элемент NewHiddenRegion структура. Текст баннера редактор по умолчанию для скрытой области "…".