Модель службы языка
Служба языка определяет элементы и функции для определенного языка и используется для реализации редактора с конкретные сведения этот язык. Например, редактор необходимо знать элементов и ключевые слова языка для поддержки расцветку синтаксиса.
Служба языка работает ближайшего с текстовый буфер, управляемый редактором и представлением, которое содержит редактор. Microsoft IntelliSense Краткие сведения параметр пример функции, предоставленную службой языка.
Минимальная службы языка
Самая базовая служба языка содержит следующие 2 объекта:
Служба языка реализует IVsLanguageInfo интерфейс. Служба языка содержит информацию о языке, включая его имя, расширения имени файла, диспетчер окон кода и colorizer.
Colorizer реализует IVsColorizer интерфейс.
Следующий документ концептуального показана модель базовой службы языка.
Основная модель службы языка
Основные приложения окна документов представление документа в этом случае редактора Visual Studio редактор. Представление документа и текстовый буфер принадлежат редактором. Эти объекты работают с Visual Studio специализированное с названием через окно документа a окно кода. Окно кода содержится в IVsWindowFrame объект, созданный и управляется средой разработки.
Если файл с заданным расширением загрузке редактора находящий службу языка, связанная с этим расширением и передает ему окно кода путем вызова GetCodeWindowManager метод. Возвращает языковую службу a диспетчер окна кода, который реализует IVsCodeWindowManager интерфейс.
В следующей таблице представлен обзор объектов модели.
Компонент |
Объект. |
Функция |
---|---|---|
Текстовый буфер |
Юникод чтения/записи текстовый поток. Текст может использовать другие кодировки. |
|
Окно кода |
Окно документа, которая содержит один или несколько представления текста. После Visual Studio в режиме MDI (MDI) окно кода дочерний элемент MDI. |
|
Представление текста |
Окно, которое позволяет пользователю перемещаться и просматривать текст с помощью клавиатуры и мыши. Представление текста отображается пользователю как редактор. Можно использовать представления текста в обычных окнах редактора окне выходные данные и окне интерпретация. Кроме того, можно настроить одну или несколько представлений текста в окне кода. |
|
Диспетчер текста |
Управляемый код SVsTextManager служба, от которой вы получаете IVsTextManager Указатель |
Компонент, который поддерживает общие сведения совместно используемого всеми компонентами, описанными ранее. |
Служба языка |
Зависимые реализации; реализует IVsLanguageInfo |
Объект, который предоставляет редактор с данными о языковом как синтаксис при выборе, завершение выписки и проверка парности фигурных скобок. |
См. также
Основные понятия
Данные и представление документа в специализированных редакторах документа