Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
c1488d86
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,发现更多精彩内容 >>
提交
c1488d86
编写于
2月 23, 2021
作者:
A
Alex Ross
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Better row aria label in Ports view
Fixes #117404
上级
cb3a048f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
48 addition
and
27 deletion
+48
-27
src/vs/workbench/contrib/remote/browser/tunnelView.ts
src/vs/workbench/contrib/remote/browser/tunnelView.ts
+48
-27
未找到文件。
src/vs/workbench/contrib/remote/browser/tunnelView.ts
浏览文件 @
c1488d86
...
...
@@ -79,6 +79,11 @@ export class TunnelViewModel implements ITunnelViewModel {
remotePort
:
0
,
processDescription
:
''
,
tooltipPostfix
:
''
,
iconTooltip
:
''
,
portTooltip
:
''
,
processTooltip
:
''
,
originTooltip
:
''
,
privacyTooltip
:
''
,
source
:
''
};
...
...
@@ -158,14 +163,9 @@ class IconColumn implements ITableColumn<ITunnelItem, ActionBarCell> {
[
'
tunnelType
'
,
row
.
tunnelType
],
[
'
tunnelCloseable
'
,
row
.
closeable
]
];
let
tooltip
:
string
;
let
tooltip
:
string
=
''
;
if
(
row
instanceof
TunnelItem
&&
!
isAdd
)
{
tooltip
=
`
${
row
.
processDescription
?
nls
.
localize
(
'
tunnel.iconColumn.running
'
,
"
Port has running process.
"
)
:
nls
.
localize
(
'
tunnel.iconColumn.notRunning
'
,
"
No running process.
"
)}
${
row
.
tooltipPostfix
}
`
;
}
else
if
(
isAdd
)
{
tooltip
=
row
.
label
;
}
else
{
tooltip
=
''
;
tooltip
=
`
${
row
.
iconTooltip
}
${
row
.
tooltipPostfix
}
`
;
}
return
{
label
:
''
,
icon
,
tunnel
:
row
,
context
,
editId
:
TunnelEditId
.
None
,
tooltip
...
...
@@ -187,11 +187,9 @@ class PortColumn implements ITableColumn<ITunnelItem, ActionBarCell> {
[
'
tunnelType
'
,
row
.
tunnelType
],
[
'
tunnelCloseable
'
,
row
.
closeable
]
];
let
tooltip
:
string
;
let
tooltip
:
string
=
''
;
if
(
row
instanceof
TunnelItem
&&
!
isAdd
)
{
tooltip
=
`
${
row
.
name
?
nls
.
localize
(
'
remote.tunnel.tooltipName
'
,
"
Port labeled {0}.
"
,
row
.
name
)
:
''
}
${
row
.
tooltipPostfix
}
`
;
}
else
{
tooltip
=
label
;
tooltip
=
`
${
row
.
portTooltip
}
${
row
.
tooltipPostfix
}
`
;
}
return
{
label
,
tunnel
:
row
,
context
,
menuId
:
MenuId
.
TunnelPortInline
,
...
...
@@ -230,7 +228,7 @@ class RunningProcessColumn implements ITableColumn<ITunnelItem, ActionBarCell> {
readonly
templateId
:
string
=
'
actionbar
'
;
project
(
row
:
ITunnelItem
):
ActionBarCell
{
const
label
=
row
.
processDescription
??
''
;
return
{
label
,
tunnel
:
row
,
context
:
[],
editId
:
TunnelEditId
.
None
,
tooltip
:
label
};
return
{
label
,
tunnel
:
row
,
context
:
[],
editId
:
TunnelEditId
.
None
,
tooltip
:
row
instanceof
TunnelItem
?
row
.
processTooltip
:
''
};
}
}
...
...
@@ -247,7 +245,7 @@ class OriginColumn implements ITableColumn<ITunnelItem, ActionBarCell> {
[
'
tunnelCloseable
'
,
row
.
closeable
]
];
const
label
=
row
.
source
;
const
tooltip
=
`
${
label
}
.
${
row
instanceof
TunnelItem
?
row
.
tooltipPostfix
:
''
}
`
;
const
tooltip
=
`
${
row
instanceof
TunnelItem
?
row
.
originTooltip
:
''
}
.
${
row
instanceof
TunnelItem
?
row
.
tooltipPostfix
:
''
}
`
;
return
{
label
,
context
,
menuId
:
MenuId
.
TunnelOriginInline
,
tunnel
:
row
,
editId
:
TunnelEditId
.
None
,
tooltip
};
}
}
...
...
@@ -265,12 +263,9 @@ class PrivacyColumn implements ITableColumn<ITunnelItem, ActionBarCell> {
[
'
tunnelCloseable
'
,
row
.
closeable
]
];
const
label
=
row
.
privacy
===
TunnelPrivacy
.
Public
?
nls
.
localize
(
'
tunnel.privacyPublic
'
,
"
Public
"
)
:
nls
.
localize
(
'
tunnel.privacyPrivate
'
,
"
Private
"
);
let
tooltip
:
string
;
let
tooltip
:
string
=
''
;
if
(
row
instanceof
TunnelItem
)
{
tooltip
=
`
${
row
.
privacy
===
TunnelPrivacy
.
Public
?
nls
.
localize
(
'
remote.tunnel.tooltipPublic
'
,
"
Accessible publicly.
"
)
:
nls
.
localize
(
'
remote.tunnel.tooltipPrivate
'
,
"
Only accessible from this machine.
"
)}
${
row
.
tooltipPostfix
}
`
;
}
else
{
tooltip
=
label
;
tooltip
=
`
${
row
.
privacyTooltip
}
${
row
.
tooltipPostfix
}
`
;
}
return
{
label
,
context
,
tunnel
:
row
,
icon
:
row
.
icon
,
editId
:
TunnelEditId
.
None
,
tooltip
};
}
...
...
@@ -461,12 +456,6 @@ class ActionBarRenderer extends Disposable implements ITableRenderer<ActionBarCe
}
}
interface
ITunnelGroup
{
tunnelType
:
TunnelType
;
label
:
string
;
items
?:
ITunnelItem
[]
|
Promise
<
ITunnelItem
[]
>
;
}
class
TunnelItem
implements
ITunnelItem
{
static
createFromTunnel
(
remoteExplorerService
:
IRemoteExplorerService
,
tunnel
:
Tunnel
,
type
:
TunnelType
=
TunnelType
.
Forwarded
,
closeable
?:
boolean
)
{
return
new
TunnelItem
(
type
,
...
...
@@ -546,6 +535,38 @@ class TunnelItem implements ITunnelItem {
return
information
;
}
get
iconTooltip
():
string
{
const
isAdd
=
this
.
tunnelType
===
TunnelType
.
Add
;
if
(
!
isAdd
)
{
return
`
${
this
.
processDescription
?
nls
.
localize
(
'
tunnel.iconColumn.running
'
,
"
Port has running process.
"
)
:
nls
.
localize
(
'
tunnel.iconColumn.notRunning
'
,
"
No running process.
"
)}
`
;
}
else
{
return
this
.
label
;
}
}
get
portTooltip
():
string
{
const
isAdd
=
this
.
tunnelType
===
TunnelType
.
Add
;
if
(
!
isAdd
)
{
return
`
${
this
.
name
?
nls
.
localize
(
'
remote.tunnel.tooltipName
'
,
"
Port labeled {0}.
"
,
this
.
name
)
:
''
}
`
;
}
else
{
return
''
;
}
}
get
processTooltip
():
string
{
return
this
.
processDescription
??
''
;
}
get
originTooltip
():
string
{
return
this
.
source
;
}
get
privacyTooltip
():
string
{
return
`
${
this
.
privacy
===
TunnelPrivacy
.
Public
?
nls
.
localize
(
'
remote.tunnel.tooltipPublic
'
,
"
Accessible publicly.
"
)
:
nls
.
localize
(
'
remote.tunnel.tooltipPrivate
'
,
"
Only accessible from this machine.
"
)}
`
;
}
}
export
const
TunnelTypeContextKey
=
new
RawContextKey
<
TunnelType
>
(
'
tunnelType
'
,
TunnelType
.
Add
);
...
...
@@ -640,15 +661,15 @@ export class TunnelPanel extends ViewPane {
[
new
StringRenderer
(),
actionBarRenderer
],
{
keyboardNavigationLabelProvider
:
{
getKeyboardNavigationLabel
:
(
item
:
ITunnelItem
|
ITunnelGroup
)
=>
{
getKeyboardNavigationLabel
:
(
item
:
ITunnelItem
)
=>
{
return
item
.
label
;
}
},
multipleSelectionSupport
:
false
,
accessibilityProvider
:
{
getAriaLabel
:
(
item
:
ITunnelItem
|
ITunnelGroup
)
=>
{
getAriaLabel
:
(
item
:
ITunnelItem
)
=>
{
if
(
item
instanceof
TunnelItem
)
{
return
item
.
tooltipPostfix
;
return
`
${
item
.
tooltipPostfix
}
${
item
.
portTooltip
}
${
item
.
iconTooltip
}
${
item
.
processTooltip
}
${
item
.
originTooltip
}
${
this
.
tunnelService
.
canMakePublic
?
item
.
privacyTooltip
:
''
}
`
;
}
else
{
return
item
.
label
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录