Я использую пример расширения «Displaying Matching Braces» в Visual Studio и нуждаюсь в помощи в понимании кода.Как работает пример расширения фигурных скобок в Visual Studio?
После создания начального «BraceMatchingTagger» для каждого движения каретки вызывается функция «UpdateAtCaretPosition». Эта функция вызывает событие TagsChanged. Я следую сюда. Однако
1) Кто занимается этим мероприятием?
2) Кто звонит GetTags?
Я понимаю, что при перемещении каретки происходит событие «TagsChanged». Редактор как-то справляется с этим. Позднее расширение «GetTags» вызывается редактором. Это правильно? Я также не совсем понимаю порядок, в котором эти функции вызывают.
Может кто-нибудь помочь в этом?