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屋!
