VSCode Расширение доступа Языковые провайдеры - PullRequest
1 голос
/ 07 февраля 2020

В VSCode вы можете зарегистрироваться, чтобы предоставить определенную c функцию языкового сервера, такую ​​как:

vscode.languages.registerDefinitionProvider
vscode.languages.registerCompletionItemProvider

Есть ли способ из расширения получить список всех провайдеров и вызвать его методы для например, получить пункты завершения для данной позиции в редакторе?

Спасибо

1 Ответ

1 голос
/ 07 февраля 2020

Да, они могут быть вызваны с помощью различных команд vscode.execute*, например vscode.executeCompletionItemProvider. См. Официальный документ по Встроенным командам для получения полного списка.

Что касается получения списка всех провайдеров, это выглядит сложнее. Вы можете просто попробовать позвонить поставщику и посмотреть, если вы получите какие-либо результаты. Есть getLanguages(), но это не говорит вам, какие провайдеры зарегистрированы для определенного языка, только то, что сам язык зарегистрирован.

...