我尝试从语言服务器执行内置命令“vscode.executeReferenceProvider”。该命令在“onCodeLensResolve”方法的上下文中作为“CodeLens”对象的属性提供。
private onCodeLens(params: LSP.CodeLensParams): LSP.CodeLens[] {
let handler = new CodeLensHandler(this.analyzer.declarationCache, this.analyzer.referencesCache);
return handler.getCodeLens(params.textDocument);
}
// .....
let target = URI.parse(uri)
let command: Command = Command.create(
`${refs.length} references`,
'vscode.executeReferenceProvider',
target,
CommonUtils.position(declaration.range.startPosition));
错误:
运行贡献的命令:“vscode.executeReferenceProvider”失败。非法参数 'uri' - 文本文档的 Uri