问题描述
我找到了两个相关的API,用于定义和自定义编辑器,但是到目前为止,对定义类型的markdown链接似乎无法进行定义的测试,也许去定义不支持阻塞链接和支持代码级跳?
- https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition
- https://code.visualstudio.com/api/extension-guides/custom-editors
代码如下
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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)