Я работаю над языковой службой и хочу, чтобы синтаксический анализ после того, как пользователь набирал код, был быстрее.Языковая служба: есть ли способ заставить парсинг?
Прямо сейчас я полагаюсь на механизм и OnIdle
, который задокументирован на MSDN, но его часто называют долгое время после ввода пользователем кода. Иногда это помогает перемещать курсор на другую строку, чтобы быстрее запускать его.
Что я хотел бы сделать, это принудительно проанализировать файл после того, как я обнаружил, что пользователь набрал файл. Я могу обнаружить, когда пользователь печатает, но я не знаю, как вызвать синтаксический анализатор с помощью ParseRequest
.
Я просто заметил, что класс LanguageService имеет метод CreateParseRequest. Поэтому я попытался вызвать его из OnCaretMoved с ParseReason.Check, но он не вызывает мой метод ParseSource ... Так что запутался. –