Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
e80c62bd
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e80c62bd
编写于
11月 15, 2019
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
allow $openUri to accept URI and string
上级
e51ef85b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
6 deletion
+16
-6
src/vs/workbench/api/browser/mainThreadWindow.ts
src/vs/workbench/api/browser/mainThreadWindow.ts
+10
-2
src/vs/workbench/api/common/extHost.protocol.ts
src/vs/workbench/api/common/extHost.protocol.ts
+1
-1
src/vs/workbench/api/common/extHostRequireInterceptor.ts
src/vs/workbench/api/common/extHostRequireInterceptor.ts
+2
-2
src/vs/workbench/api/common/extHostWindow.ts
src/vs/workbench/api/common/extHostWindow.ts
+3
-1
未找到文件。
src/vs/workbench/api/browser/mainThreadWindow.ts
浏览文件 @
e80c62bd
...
...
@@ -42,9 +42,17 @@ export class MainThreadWindow implements MainThreadWindowShape {
return
Promise
.
resolve
(
this
.
hostService
.
hasFocus
);
}
async
$openUri
(
uriComponents
:
UriComponents
,
options
:
IOpenUriOptions
):
Promise
<
boolean
>
{
async
$openUri
(
uriComponents
:
UriComponents
,
uriString
:
string
|
undefined
,
options
:
IOpenUriOptions
):
Promise
<
boolean
>
{
const
uri
=
URI
.
from
(
uriComponents
);
return
this
.
openerService
.
open
(
uri
,
{
openExternal
:
true
,
allowTunneling
:
options
.
allowTunneling
});
let
target
:
URI
|
string
;
if
(
uriString
&&
URI
.
parse
(
uriString
).
toString
()
===
uri
.
toString
())
{
// called with string and no transformation happened -> keep string
target
=
uriString
;
}
else
{
// called with URI or transformed -> use uri
target
=
uri
;
}
return
this
.
openerService
.
open
(
target
,
{
openExternal
:
true
,
allowTunneling
:
options
.
allowTunneling
});
}
async
$asExternalUri
(
uriComponents
:
UriComponents
,
options
:
IOpenUriOptions
):
Promise
<
UriComponents
>
{
...
...
src/vs/workbench/api/common/extHost.protocol.ts
浏览文件 @
e80c62bd
...
...
@@ -759,7 +759,7 @@ export interface IOpenUriOptions {
export
interface
MainThreadWindowShape
extends
IDisposable
{
$getWindowVisibility
():
Promise
<
boolean
>
;
$openUri
(
uri
:
UriComponents
,
options
:
IOpenUriOptions
):
Promise
<
boolean
>
;
$openUri
(
uri
:
UriComponents
,
uriString
:
string
|
undefined
,
options
:
IOpenUriOptions
):
Promise
<
boolean
>
;
$asExternalUri
(
uri
:
UriComponents
,
options
:
IOpenUriOptions
):
Promise
<
UriComponents
>
;
}
...
...
src/vs/workbench/api/common/extHostRequireInterceptor.ts
浏览文件 @
e80c62bd
...
...
@@ -245,9 +245,9 @@ class OpenNodeModuleFactory implements INodeModuleFactory {
return
this
.
callOriginal
(
target
,
options
);
}
if
(
uri
.
scheme
===
'
http
'
||
uri
.
scheme
===
'
https
'
)
{
return
mainThreadWindow
.
$openUri
(
uri
,
{
allowTunneling
:
true
});
return
mainThreadWindow
.
$openUri
(
uri
,
target
,
{
allowTunneling
:
true
});
}
else
if
(
uri
.
scheme
===
'
mailto
'
||
uri
.
scheme
===
this
.
_appUriScheme
)
{
return
mainThreadWindow
.
$openUri
(
uri
,
{});
return
mainThreadWindow
.
$openUri
(
uri
,
target
,
{});
}
return
this
.
callOriginal
(
target
,
options
);
};
...
...
src/vs/workbench/api/common/extHostWindow.ts
浏览文件 @
e80c62bd
...
...
@@ -39,7 +39,9 @@ export class ExtHostWindow implements ExtHostWindowShape {
}
openUri
(
stringOrUri
:
string
|
URI
,
options
:
IOpenUriOptions
):
Promise
<
boolean
>
{
let
uriAsString
:
string
|
undefined
;
if
(
typeof
stringOrUri
===
'
string
'
)
{
uriAsString
=
stringOrUri
;
try
{
stringOrUri
=
URI
.
parse
(
stringOrUri
);
}
catch
(
e
)
{
...
...
@@ -51,7 +53,7 @@ export class ExtHostWindow implements ExtHostWindowShape {
}
else
if
(
stringOrUri
.
scheme
===
Schemas
.
command
)
{
return
Promise
.
reject
(
`Invalid scheme '
${
stringOrUri
.
scheme
}
'`
);
}
return
this
.
_proxy
.
$openUri
(
stringOrUri
,
options
);
return
this
.
_proxy
.
$openUri
(
stringOrUri
,
uriAsString
,
options
);
}
async
asExternalUri
(
uri
:
URI
,
options
:
IOpenUriOptions
):
Promise
<
URI
>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录