Visual studio code 如何知道在vscode中选择了什么建议项

Visual studio code 如何知道在vscode中选择了什么建议项,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我通过vscode.languages.RegisterCompletionImprovider(选择器,new FunctionCompletionProvider(),'.')完成了vscode扩展。 我想听听哪个建议被选中。在下图中,当我单击当前项目时,我希望获得完成项信息。 我试图使用resolveCompletionItem功能,但在选择建议之前,触发了resolveCompletionItem 我尝试使用resolveCompletionItem函数,但在选择建议之前,resolv

我通过
vscode.languages.RegisterCompletionImprovider(选择器,new FunctionCompletionProvider(),'.')完成了vscode扩展。

我想听听哪个建议被选中。在下图中,当我单击当前项目时,我希望获得
完成项
信息。

我试图使用
resolveCompletionItem
功能,但在选择建议之前,触发了
resolveCompletionItem

我尝试使用resolveCompletionItem函数,但在选择建议之前,resolveCompletionItem已触发

看来这是故意的。根据他们的文件:

请注意,当完成项已显示在UI中或已选择要插入的项时,将调用此函数

“选定”表示在列表中选定,未提交


要了解何时插入
完成项
,建议使用以下属性:

插入此完成后执行的可选命令。请注意,对当前文档的其他修改应使用additionalTextEdits属性进行描述

示例用法

导出函数激活(上下文:vscode.ExtensionContext){ context.subscriptions.push( vscode.languages.RegisterCompletionImprovider('html',新的MyCompletionProvider), vscode.commands.registerCommand(“doTheThing”,()=>{ log('dothething!!'); }); ); } 类MyCompletionProvider实现vscode.CompletionTemprovider{ provideCompletionItems(文档:vscode.TextDocument,位置:vscode.position,标记:vscode.CancellationToken,上下文:vscode.CompletionContext):vscode.ProviderResult{ const myHTMLCompletionItem:vscode.CompletionItem=新的vscode.CompletionItem(“myHTML”); myHTMLCompletionItem.command={ 标题:“”, 命令:“doTheThing” }; 返回新的vscode.CompletionList([myHTMLCompletionItem]); } } 我尝试使用resolveCompletionItem函数,但在选择建议之前,resolveCompletionItem已触发

看来这是故意的。根据他们的文件:

请注意,当完成项已显示在UI中或已选择要插入的项时,将调用此函数

“选定”表示在列表中选定,未提交


要了解何时插入
完成项
,建议使用以下属性:

插入此完成后执行的可选命令。请注意,对当前文档的其他修改应使用additionalTextEdits属性进行描述

示例用法

导出函数激活(上下文:vscode.ExtensionContext){ context.subscriptions.push( vscode.languages.RegisterCompletionImprovider('html',新的MyCompletionProvider), vscode.commands.registerCommand(“doTheThing”,()=>{ log('dothething!!'); }); ); } 类MyCompletionProvider实现vscode.CompletionTemprovider{ provideCompletionItems(文档:vscode.TextDocument,位置:vscode.position,标记:vscode.CancellationToken,上下文:vscode.CompletionContext):vscode.ProviderResult{ const myHTMLCompletionItem:vscode.CompletionItem=新的vscode.CompletionItem(“myHTML”); myHTMLCompletionItem.command={ 标题:“”, 命令:“doTheThing” }; 返回新的vscode.CompletionList([myHTMLCompletionItem]); } }
谢谢你的回答,这个答案对我非常有用。谢谢你的回答,这个答案对我非常有用