Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
b1523b43
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b1523b43
编写于
4月 07, 2021
作者:
A
Alex Ross
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update port attributes api to not use array
Par of #115616
上级
30dcb112
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
10 deletion
+12
-10
src/vs/vscode.proposed.d.ts
src/vs/vscode.proposed.d.ts
+4
-4
src/vs/workbench/api/node/extHostTunnelService.ts
src/vs/workbench/api/node/extHostTunnelService.ts
+8
-6
未找到文件。
src/vs/vscode.proposed.d.ts
浏览文件 @
b1523b43
...
...
@@ -2888,11 +2888,11 @@ declare module 'vscode' {
export
interface
PortAttributesProvider
{
/**
* Provides attributes for the given port
s. For ports that your extension doesn't know about, simply don't include
*
them in the returned array. For example, if `providePortAttributes` is called with ports [3000, 4000]
but your
* extension doesn't know anything about
those ports you can return an empty array
.
* Provides attributes for the given port
. For ports that your extension doesn't know about, simply
*
return undefined. For example, if `providePortAttributes` is called with ports 3000
but your
* extension doesn't know anything about
3000 you should return undefined
.
*/
providePortAttributes
(
port
s
:
number
[],
pid
:
number
|
undefined
,
commandLine
:
string
|
undefined
,
token
:
CancellationToken
):
ProviderResult
<
PortAttributes
[]
>
;
providePortAttributes
(
port
:
number
,
pid
:
number
|
undefined
,
commandLine
:
string
|
undefined
,
token
:
CancellationToken
):
ProviderResult
<
PortAttributes
>
;
}
export
namespace
workspace
{
...
...
src/vs/workbench/api/node/extHostTunnelService.ts
浏览文件 @
b1523b43
...
...
@@ -22,7 +22,6 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'
import
{
MovingAverage
}
from
'
vs/base/common/numbers
'
;
import
{
CandidatePort
}
from
'
vs/workbench/services/remote/common/remoteExplorerService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
flatten
}
from
'
vs/base/common/arrays
'
;
class
ExtensionTunnel
implements
vscode
.
Tunnel
{
private
_onDispose
:
Emitter
<
void
>
=
new
Emitter
();
...
...
@@ -240,17 +239,20 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
}
async
$providePortAttributes
(
handles
:
number
[],
ports
:
number
[],
pid
:
number
|
undefined
,
commandline
:
string
|
undefined
,
cancellationToken
:
vscode
.
CancellationToken
):
Promise
<
ProvidedPortAttributes
[]
>
{
const
providedAttributes
=
await
Promise
.
all
(
handles
.
map
(
handle
=>
{
const
providedAttributes
:
vscode
.
ProviderResult
<
vscode
.
PortAttributes
>
[]
=
[];
for
(
const
handle
of
handles
)
{
const
provider
=
this
.
_portAttributesProviders
.
get
(
handle
);
if
(
!
provider
)
{
return
[];
}
return
provider
.
provider
.
providePortAttributes
(
ports
,
pid
,
commandline
,
cancellationToken
);
}));
providedAttributes
.
push
(...(
await
Promise
.
all
(
ports
.
map
(
async
(
port
)
=>
{
return
provider
.
provider
.
providePortAttributes
(
port
,
pid
,
commandline
,
cancellationToken
);
}))));
}
const
allAttributes
=
<
vscode
.
PortAttributes
[]
[]
>
providedAttributes
.
filter
(
attribute
=>
!!
attribute
&&
attribute
.
length
>
0
);
const
allAttributes
=
<
vscode
.
PortAttributes
[]
>
providedAttributes
.
filter
(
attribute
=>
!!
attribute
);
return
(
allAttributes
.
length
>
0
)
?
flatten
(
allAttributes
)
.
map
(
attributes
=>
{
return
(
allAttributes
.
length
>
0
)
?
allAttributes
.
map
(
attributes
=>
{
return
{
autoForwardAction
:
<
ProvidedOnAutoForward
><
unknown
>
attributes
.
autoForwardAction
,
port
:
attributes
.
port
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录