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


Модель службы языка

Служба языка определяет элементы и функции для определенного языка и используется для реализации редактора с конкретные сведения этот язык. Например, редактор необходимо знать элементов и ключевые слова языка для поддержки расцветку синтаксиса.

Служба языка работает ближайшего с текстовый буфер, управляемый редактором и представлением, которое содержит редактор. Microsoft IntelliSense Краткие сведения параметр пример функции, предоставленную службой языка.

Минимальная службы языка

Самая базовая служба языка содержит следующие 2 объекта:

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

  • Colorizer реализует IVsColorizer интерфейс.

Следующий документ концептуального показана модель базовой службы языка.

Основная модель службы языка

График языка модели службы

Основные приложения окна документов представление документа в этом случае редактора Visual Studio редактор. Представление документа и текстовый буфер принадлежат редактором. Эти объекты работают с Visual Studio специализированное с названием через окно документа a окно кода. Окно кода содержится в IVsWindowFrame объект, созданный и управляется средой разработки.

Если файл с заданным расширением загрузке редактора находящий службу языка, связанная с этим расширением и передает ему окно кода путем вызова GetCodeWindowManager метод. Возвращает языковую службу a диспетчер окна кода, который реализует IVsCodeWindowManager интерфейс.

В следующей таблице представлен обзор объектов модели.

Компонент

Объект.

Функция

Текстовый буфер

VsTextBuffer

Юникод чтения/записи текстовый поток. Текст может использовать другие кодировки.

Окно кода

VsCodeWindow

Окно документа, которая содержит один или несколько представления текста. После Visual Studio в режиме MDI (MDI) окно кода дочерний элемент MDI.

Представление текста

VsTextView

Окно, которое позволяет пользователю перемещаться и просматривать текст с помощью клавиатуры и мыши. Представление текста отображается пользователю как редактор. Можно использовать представления текста в обычных окнах редактора окне выходные данные и окне интерпретация. Кроме того, можно настроить одну или несколько представлений текста в окне кода.

Диспетчер текста

Управляемый код SVsTextManager служба, от которой вы получаете IVsTextManager Указатель

Компонент, который поддерживает общие сведения совместно используемого всеми компонентами, описанными ранее.

Служба языка

Зависимые реализации; реализует IVsLanguageInfo

Объект, который предоставляет редактор с данными о языковом как синтаксис при выборе, завершение выписки и проверка парности фигурных скобок.

См. также

Основные понятия

Данные и представление документа в специализированных редакторах документа