Я изучаю варианты создания расширения VSCode, которое будет полезно для IMO при навигации по большим кодовым базам (в моем случае это в основном C # и C ++).Пользовательский опыт, который мне нужен, заключается в том, чтобы позволить разработчику перемещаться по базе кода сразу после запуска VSCode, не дожидаясь соответствующего расширения языка для анализа всех источников (что для больших баз кода может занять много времени).Идея здесь состоит в том, чтобы дополнить информацию о символах, предоставляемую реальным языковым расширением, данными, доступными с «индексного» сервера.Фактическое расширение языка всегда будет иметь наиболее точную символьную информацию, особенно потому, что локальные источники могли быть изменены с тех пор, как кодовая база была проиндексирована в последний раз.Чем больше проектов загружено языковым расширением, тем меньше индексированных данных будет показано пользователю, тем более точная информация о символах будет видна пользователю.
Например, https://code.visualstudio.com/api/references/vscode-api для состояний 'registerReferenceProvider'что " Несколько языков могут быть зарегистрированы для языка.В этом случае провайдеры запрашиваются параллельно, и результаты объединяются '.Я предполагаю, что в этом случае данные будут просто объединены.Я ищу способ «аккуратно» объединить результаты, чтобы избежать дублирования и обеспечить, чтобы результаты, возвращаемые языковым расширением, имели приоритет над индексированными данными.Хотелось бы избежать встраивания этой логики в само языковое расширение, поскольку я надеюсь повторно использовать его на нескольких языках.
Цените любые указатели и отзывы.Спасибо!