Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 等待符号提供程序可用_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 等待符号提供程序可用

Visual studio code 等待符号提供程序可用,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在为for Visual Studio代码编写Go适配器扩展。My extension使用Microsoft的语言服务: const symbols=wait vscode.commands.executeCommand'vscode.executeDocumentSymbolProvider',uri 然而,我有一个问题。当我在package.json中正确指定extensionDependencies和activationEvents时,符号最初不会加载,命令返回undefined。如果

我正在为for Visual Studio代码编写Go适配器扩展。My extension使用Microsoft的语言服务:

const symbols=wait vscode.commands.executeCommand'vscode.executeDocumentSymbolProvider',uri 然而,我有一个问题。当我在package.json中正确指定extensionDependencies和activationEvents时,符号最初不会加载,命令返回undefined。如果我将activationEvents设置为*或者如果我在激活处理程序中延迟了足够长的时间,则会加载符号。我曾考虑重试,直到命令返回某个内容,但该文件没有符号,并且对于这种类型的文档没有符号提供程序,它们都返回未定义的


是否有办法延迟,直到为特定文件扩展名/语言定义了符号提供程序?等待Go分机激活是不够的。我会直接使用GoDocumentSymbolProvider,但扩展没有导出任何内容。

在激活扩展之前,似乎可以添加延迟时间。请参阅添加支持以最终在启动时激活扩展。和延迟启动激活事件

将出现在v1.46中。从v1.46发行说明:

我们现在有了一个新的激活事件,类似于已经存在的激活事件* 激活事件。新的onStartupFinished激活事件应 当扩展希望在不久后激活时使用 VS代码启动,但不作为启动的一部分

然而,这只是一个硬编码的延迟,不是基于其他事件,但可能仍然有助于您的情况

有一个新的激活事件,如onStartup:1000 或启动时:5000。这意味着扩展希望 启动后1000毫秒或5000毫秒激活。这与* 激活,但扩展指示它可以等待一点