Я реализую языковую службу Visual Studio для пользовательского языка сценариев, который используется внутри моей компании, и я столкнулся с проблемой с панелью навигации, реализованной как подкласс TypeAndMemberDropdownBars . Подкласс создается моим подклассом LanguageService LanguageService.CreateDropDownHelper .
В методе OnSynchronizeDropdowns я перебираю типы, определенные в файле, и добавляю DropDownMembers к переданному массиву для заполнения панели навигации. Проблема, которую я вижу, заключается в том, что первый элемент в массиве дублируется и помещается в конец списка с помощью кода, к которому у меня нет доступа. Этот дополнительный элемент не работает правильно при выборе (ничего не происходит), но, похоже, не вызывает никаких других проблем; остальные элементы в списке работают нормально. Кроме того, похоже, что это происходит только с раскрывающимся списком типов - раскрывающийся список членов не отображает это поведение.
Я надеюсь, что кто-то еще видел и решил эту проблему и мог бы оказать некоторую помощь. Спасибо!