vscode自定义链接跳转的逻辑无法打开链接

问题描述

enter image description here

我找到了两个相关的API,用于定义和自定义编辑器,但是到目前为止,对定义类型的markdown链接似乎无法进行定义的测试,也许去定义不支持阻塞链接支持代码级跳?

代码如下

  vscode.languages.registerDeFinitionProvider(
    {
      scheme: 'file',language: 'markdown',pattern: 'edit-*.md',},new JoplinMarkdownProvider(),)
  
export class JoplinMarkdownProvider implements DeFinitionProvider {
  provideDeFinition(
    document: TextDocument,position: Position,token: CancellationToken,): ProviderResult<DeFinition | DeFinitionLink[]> {
    console.log('provideDeFinition: ',document,position,token)
    return undefined
  }
}

更新,registerDeFinitionProvider可以拦截点击,但是无法打开返回的Uri

例如,https://github.com/会在打开时导致错误

Unable to open'': Unable to resolve resource https://github.com/.

此外,自定义架构链接查询部分将被转义

形状类似于vscode://rxliuli.joplin-vscode-plugin/open?id=03c8b00ed350410baf41c33daddf3005 => vscode://rxliuli.joplin-vscode-plugin/open?id%3D03c8b00ed350410baf41c33daddf3005

它还将报告错误

Unable to open'open': Unable to resolve text model content for resource vscode://rxliuli.joplin-vscode-plugin/open?id%3D03c8b00ed350410baf41c33daddf3005.

特定的错误代码位于:https://github.com/rxliuli/joplin-vscode-plugin/blob/12854b05da7901a8655f69c90b65f56b67acc73f/src/extension.ts#L147

enter image description here

参考链接https://github.com/Microsoft/vscode/issues/8466

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)