Я пишу расширение адаптера Go для расширения Test Explorer для кода Visual Studio. Мое расширение использует языковые сервисы от Go от Microsoft :
const symbols = await vscode.commands.executeCommand('vscode.executeDocumentSymbolProvider', uri)
Однако у меня есть проблема. Когда я правильно указываю extensionDependencies
и activationEvents
(в пакете. json), символы изначально не загружаются (команда возвращает undefined
). Если я установлю activationEvents
на *
или если я задержусь достаточно долго в моем обработчике активации, символы загрузятся. Я думал о повторной попытке, пока команда не вернет что-то, но «в этом файле нет символов» и «нет поставщика символов для этого типа документа», оба возвращают undefined
.
Есть ли способ отложить до поставщик символов был определен для определенного c расширения / языка файла? Недостаточно дождаться активации расширения Go. Я бы использовал GoDocumentSymbolProvider
напрямую, но расширение ничего не экспортирует.