VSCode扩展访问语言提供程序

时间:2020-02-06 22:45:51

标签: visual-studio-code vscode-extensions

在VSCode上,您可以注册以提供语言服务器的特定功能,例如:

vscode.languages.registerDefinitionProvider
vscode.languages.registerCompletionItemProvider

扩展名中是否有一种方法可以获取所有提供程序的列表并调用其方法,例如获取编辑器上给定位置的完成项目?

谢谢

1 个答案:

答案 0 :(得分:1)

是的,可以通过各种vscode.execute*命令(例如vscode.executeCompletionItemProvider)来调用这些命令。有关完整列表,请参见Built-in Commands上的官方文档。

关于获取所有提供商的列表,这似乎比较棘手。您可以尝试致电提供程序,看看是否有任何结果。有getLanguages(),但这并不能告诉您为特定语言注册了哪些提供程序,而只是告诉您语言本身已经注册。