i007.cc

i007.cc

优先队列-降维打击

05.价值资料

VS Code 扩展可以从其他程序获取 URI 请求吗?

本文介绍了VS Code 扩展可以从其他程序获取 URI 请求吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在官方文档中找到了 onUri 可以用作激活事件的信息.因此,我的扩展程序可以通过调用 URI(例如 vscode://myextension/arg1=foo&arg2=bar)从用 C# 编写的 WPF 程序激活.但是它没有说明我如何获取随 URI 请求传递的参数.或者甚至只是获取它的原始字符串.

我的问题是,能不能实现,如果不能,有没有其他方法可以让 VS Code 扩展与另一个程序交互?

推荐答案

是的,你可以使用 vscode.window.registerUriHandler() 为此:

注册一个 uri 处理程序,能够处理系统范围的uris.如果有多个窗口打开,最上面的窗口将处理 uri.uri 处理程序的范围限定于它所提供的扩展;它只能处理指向扩展本身的 uri.uri 必须遵守以下规则:

  • uri-scheme 必须是产品名称;

uri-authority 必须是扩展名(例如 my.extension);

一个扩展在其整个激活生命周期内只能注册一个 uri 处理程序.

  • 注意:有一个激活事件 onUri 在即将处理指向当前扩展的 uri 时触发.

用法很简单:

vscode.window.registerUriHandler({
    handleUri(uri:vscode.Uri) {
        // do something with the URI
    }
});

这篇关于VS Code 扩展可以从其他程序获取 URI 请求吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

发表回复