завершение операторов
Завершение выписки это процесс, с помощью которого пользователи службы помогает ключевое слово языка завершатся или элемент языка которому они начали введя в редакторе. В этом разделе рассматривается, как завершение выписки работает и как реализовать в службе языка.
Реализация завершение выписки
В редакторе, завершение выписки активировать специальный пользовательский интерфейс, который позволяет интерактивно проще и быстрее пишет код. Завершение выписки помогает, отображая относящих объектов или классов, если они требуются, избежать необходимо помнить конкретные элементы или просматривать их вверх в разделе ссылки на справку.
Реализовать завершение выписки, язык должен иметь триггер завершения выписки, который можно проанализировать. Например, Visual Basic использует оператор " точка " (.), Visual C++ использует оператор > стрелки " (-). Служба языка может использовать несколько триггер, чтобы начать заполнение выписки. Эти триггеры осуществляется в фильтре команды.
Фильтры и триггеры команды
Фильтры команды перехватывают вхождения ваших триггера или триггеров. Чтобы добавить фильтр команды к представлению, реализуйте AddCommandFilter интерфейс и вложение его к представлению путем вызова IOleCommandTarget метод. Можно использовать один и тот же фильтр команды (IOleCommandTarget) для всех аспектов службы языка, например завершение выписки метки ошибок, а также советы метода. Дополнительные сведения см. в разделе Перехват команды службы языка.
При вводе в редакторе триггер - в частности, текстовый буфер - служба языка вызывает UpdateCompletionStatus метод. Это вызывает редактор вывести пользовательский интерфейс, чтобы пользователь мог выбрать один из выделенных завершения выписки. Этот метод требует реализации IVsCompletionSet и UpdateCompletionFlags флаги в качестве параметров. Список элементов завершения отображается в списке прокрутку. По мере того, как пользователь продолжает печати, выделение в списке обновляется, отражая ближайшая совпадение с последним печатанным символам. Редактор core реализует пользовательский интерфейс для завершения выписки, но служба должна реализовывать языка IVsCompletionSet интерфейс для определения набора элементов завершения выбранного для выписки.