来自C#的LSP悬停文本标记链接无效
我正在使用LSP(用C#/Omnisharp实现)开发VSCode扩展。我已经在LSP中实现了我的语言悬停提供程序,它运行良好。但是,我想在悬停中添加一个可点击的[vscode]命令链接。在使用扩展Typescript代码(比如[Label](command:some命令)中的markdown之前,我已经做过这项工作,但是它在LSP C#代码中不起作用。从这里开始,它只是将平面文本显示为标签,而不是可单击的URI链接。如果Uri是常规https链接,它就可以工作,但如果它是vscode Uri,它就不能工作。任何人都知道从LSP C#code在标记中启用vscode命令链接的神奇之处吗?您需要设置标记内容来自C#的LSP悬停文本标记链接无效,c#,visual-studio-code,vscode-extensions,omnisharp,language-server-protocol,C#,Visual Studio Code,Vscode Extensions,Omnisharp,Language Server Protocol,我正在使用LSP(用C#/Omnisharp实现)开发VSCode扩展。我已经在LSP中实现了我的语言悬停提供程序,它运行良好。但是,我想在悬停中添加一个可点击的[vscode]命令链接。在使用扩展Typescript代码(比如[Label](command:some命令)中的markdown之前,我已经做过这项工作,但是它在LSP C#代码中不起作用。从这里开始,它只是将平面文本显示为标签,而不是可单击的URI链接。如果Uri是常规https链接,它就可以工作,但如果它是vscode Uri,
isTrusted
标志才能使链接正常工作。对于语言扩展服务器,您需要在客户端的typescript文件中编辑LanguageClientOptions
let clientOptions: LanguageClientOptions = {
markdown: {
isTrusted: true,
},
}
let client = new LanguageClient('myClient', 'My Client', serverOptions, clientOptions);
这篇文章在他们的GitHub上有描述