我正在为我公司内部使用的自定义脚本语言实现 Visual Studio 语言服务,我遇到了作为TypeAndMemberDropdownBars的子类实现的导航栏的问题。该子类由我的 LanguageService 子类的LanguageService.CreateDropDownHelper方法创建。
在OnSynchronizeDropdowns方法中,我遍历文件中定义的类型并将DropDownMembers添加到传入的数组以填充导航栏。我看到的问题是数组中的第一项被复制并通过我无权访问的代码放置在列表的末尾。这个额外的项目在选择时行为不正确(没有任何反应),但似乎不会导致任何其他问题;列表中的其余项目工作正常。此外,这似乎只发生在类型下拉框 - 成员下拉框不显示此行为。
我希望其他人已经看到并解决了这个问题,并可以提供一些帮助。谢谢!