Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
13b6e6d0
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,发现更多精彩内容 >>
提交
13b6e6d0
编写于
8月 10, 2016
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Opening already opened editor should update its title (fixes #9794)
上级
ae91d665
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
6 deletion
+23
-6
src/vs/workbench/browser/parts/editor/editorPart.ts
src/vs/workbench/browser/parts/editor/editorPart.ts
+4
-0
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
...workbench/browser/parts/editor/sideBySideEditorControl.ts
+6
-0
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
+13
-6
未找到文件。
src/vs/workbench/browser/parts/editor/editorPart.ts
浏览文件 @
13b6e6d0
...
...
@@ -239,6 +239,10 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService
const
active
=
(
group
.
count
===
0
)
||
!
options
||
!
options
.
inactive
;
group
.
openEditor
(
input
,
{
active
,
pinned
,
index
:
options
&&
options
.
index
});
// indicate to the UI that an editor is about to open. we need to update the title because it could be that
// the input is already opened but the title has changed and the UI should reflect that
this
.
sideBySideControl
.
updateTitle
({
group
,
editor
:
input
});
// Return early if the editor is to be open inactive and there are other editors in this group to show
if
(
!
active
)
{
return
TPromise
.
as
<
BaseEditor
>
(
null
);
...
...
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
浏览文件 @
13b6e6d0
...
...
@@ -69,6 +69,8 @@ export interface ISideBySideEditorControl {
isDragging
():
boolean
;
updateTitle
(
identifier
:
IEditorIdentifier
):
void
;
getInstantiationService
(
position
:
Position
):
IInstantiationService
;
getProgressBar
(
position
:
Position
):
ProgressBar
;
updateProgress
(
position
:
Position
,
state
:
ProgressState
):
void
;
...
...
@@ -1692,6 +1694,10 @@ export class SideBySideEditorControl implements ISideBySideEditorControl, IVerti
return
this
.
silos
[
position
].
child
().
getProperty
(
key
);
}
public
updateTitle
(
identifier
:
IEditorIdentifier
):
void
{
this
.
onStacksChanged
({
editor
:
identifier
.
editor
,
group
:
identifier
.
group
});
}
public
updateProgress
(
position
:
Position
,
state
:
ProgressState
):
void
{
switch
(
state
)
{
case
ProgressState
.
INFINITE
:
...
...
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
浏览文件 @
13b6e6d0
...
...
@@ -178,14 +178,24 @@ export class TabsTitleControl extends TitleControl {
DOM
.
removeClass
(
this
.
titleContainer
,
'
active
'
);
}
// Tab styles
// Tab
label and
styles
this
.
context
.
getEditors
().
forEach
((
editor
,
index
)
=>
{
const
tabContainer
=
this
.
tabsContainer
.
children
[
index
];
if
(
tabContainer
instanceof
HTMLElement
)
{
const
tabLabel
=
<
HTMLAnchorElement
>
(
<
HTMLElement
>
tabContainer
.
children
[
0
]).
children
[
0
];
const
isPinned
=
group
.
isPinned
(
editor
);
const
isActive
=
group
.
isActive
(
editor
);
const
isDirty
=
editor
.
isDirty
();
const
description
=
editor
.
getDescription
(
true
)
||
''
;
const
name
=
editor
.
getName
();
// Label & Description
tabContainer
.
setAttribute
(
'
aria-label
'
,
`tab,
${
name
}
`
);
tabContainer
.
title
=
description
;
tabLabel
.
innerText
=
name
;
// Pinned state
if
(
isPinned
)
{
DOM
.
addClass
(
tabContainer
,
'
pinned
'
);
...
...
@@ -233,7 +243,7 @@ export class TabsTitleControl extends TitleControl {
// Refresh Tabs
this
.
refreshTabs
(
group
);
// Update
style
s
// Update
Tab
s
this
.
doUpdate
();
}
...
...
@@ -252,14 +262,12 @@ export class TabsTitleControl extends TitleControl {
// Add a tab for each opened editor
this
.
context
.
getEditors
().
forEach
(
editor
=>
{
const
description
=
editor
.
getDescription
(
true
)
||
''
;
// Tab Container
const
tabContainer
=
document
.
createElement
(
'
div
'
);
tabContainer
.
title
=
description
;
tabContainer
.
draggable
=
true
;
tabContainer
.
tabIndex
=
0
;
tabContainer
.
setAttribute
(
'
role
'
,
'
presentation
'
);
// cannot use role "tab" here due to https://github.com/Microsoft/vscode/issues/8659
tabContainer
.
setAttribute
(
'
aria-label
'
,
`tab,
${
editor
.
getName
()}
`
);
DOM
.
addClass
(
tabContainer
,
'
tab monaco-editor-background
'
);
tabContainers
.
push
(
tabContainer
);
...
...
@@ -270,7 +278,6 @@ export class TabsTitleControl extends TitleControl {
// Tab Label
const
tabLabel
=
document
.
createElement
(
'
a
'
);
tabLabel
.
innerText
=
editor
.
getName
();
tabLabelContainer
.
appendChild
(
tabLabel
);
// Tab Close
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录