Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
3d88abfe
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,发现更多精彩内容 >>
提交
3d88abfe
编写于
11月 09, 2017
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
workbench.action.reopenClosedEditor should work with preview editors (fixes #37849)
上级
04659ba3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
12 addition
and
12 deletion
+12
-12
src/vs/workbench/common/editor.ts
src/vs/workbench/common/editor.ts
+1
-1
src/vs/workbench/common/editor/editorStacksModel.ts
src/vs/workbench/common/editor/editorStacksModel.ts
+5
-7
src/vs/workbench/services/history/browser/history.ts
src/vs/workbench/services/history/browser/history.ts
+2
-2
src/vs/workbench/test/browser/parts/editor/editorStacksModel.test.ts
...bench/test/browser/parts/editor/editorStacksModel.test.ts
+4
-2
未找到文件。
src/vs/workbench/common/editor.ts
浏览文件 @
3d88abfe
...
...
@@ -791,7 +791,7 @@ export interface IEditorContext extends IEditorIdentifier {
}
export
interface
IEditorCloseEvent
extends
IEditorIdentifier
{
pinn
ed
:
boolean
;
replac
ed
:
boolean
;
index
:
number
;
}
...
...
src/vs/workbench/common/editor/editorStacksModel.ts
浏览文件 @
3d88abfe
...
...
@@ -342,8 +342,8 @@ export class EditorGroup implements IEditorGroup {
}));
}
p
ublic
replaceEditor
(
toReplace
:
EditorInput
,
replaceWidth
:
EditorInput
,
replaceIndex
:
number
,
openNext
=
true
):
void
{
const
event
=
this
.
doCloseEditor
(
toReplace
,
openNext
);
// optimization to prevent multiple setActive() in one call
p
rivate
replaceEditor
(
toReplace
:
EditorInput
,
replaceWidth
:
EditorInput
,
replaceIndex
:
number
,
openNext
=
true
):
void
{
const
event
=
this
.
doCloseEditor
(
toReplace
,
openNext
,
true
);
// optimization to prevent multiple setActive() in one call
// We want to first add the new editor into our model before emitting the close event because
// firing the close event can trigger a dispose on the same editor that is now being added.
...
...
@@ -356,14 +356,14 @@ export class EditorGroup implements IEditorGroup {
}
public
closeEditor
(
editor
:
EditorInput
,
openNext
=
true
):
void
{
const
event
=
this
.
doCloseEditor
(
editor
,
openNext
);
const
event
=
this
.
doCloseEditor
(
editor
,
openNext
,
false
);
if
(
event
)
{
this
.
fireEvent
(
this
.
_onEditorClosed
,
event
,
true
);
}
}
private
doCloseEditor
(
editor
:
EditorInput
,
openNext
=
true
):
EditorCloseEvent
{
private
doCloseEditor
(
editor
:
EditorInput
,
openNext
:
boolean
,
replaced
:
boolean
):
EditorCloseEvent
{
const
index
=
this
.
indexOf
(
editor
);
if
(
index
===
-
1
)
{
return
null
;
// not found
...
...
@@ -384,17 +384,15 @@ export class EditorGroup implements IEditorGroup {
}
// Preview Editor closed
let
pinned
=
true
;
if
(
this
.
matches
(
this
.
preview
,
editor
))
{
this
.
preview
=
null
;
pinned
=
false
;
}
// Remove from arrays
this
.
splice
(
index
,
true
);
// Event
return
{
editor
,
pinn
ed
,
index
,
group
:
this
};
return
{
editor
,
replac
ed
,
index
,
group
:
this
};
}
public
closeEditors
(
except
:
EditorInput
,
direction
?:
Direction
):
void
{
...
...
src/vs/workbench/services/history/browser/history.ts
浏览文件 @
3d88abfe
...
...
@@ -244,8 +244,8 @@ export class HistoryService extends BaseHistoryService implements IHistoryServic
private
onEditorClosed
(
event
:
IEditorCloseEvent
):
void
{
// Track closing of
pinned editor to support to reopen closed editors
if
(
event
.
pinn
ed
)
{
// Track closing of
editor to support to reopen closed editors (unless editor was replaced)
if
(
!
event
.
replac
ed
)
{
const
resource
=
event
.
editor
?
event
.
editor
.
getResource
()
:
void
0
;
const
supportsReopen
=
resource
&&
this
.
fileService
.
canHandleResource
(
resource
);
// we only support file'ish things to reopen
if
(
supportsReopen
)
{
...
...
src/vs/workbench/test/browser/parts/editor/editorStacksModel.test.ts
浏览文件 @
3d88abfe
...
...
@@ -506,7 +506,7 @@ suite('Editor Stacks Model', () => {
assert
.
equal
(
group
.
activeEditor
,
void
0
);
assert
.
equal
(
events
.
closed
[
0
].
editor
,
input1
);
assert
.
equal
(
events
.
closed
[
0
].
index
,
0
);
assert
.
equal
(
events
.
closed
[
0
].
pinned
,
tru
e
);
assert
.
equal
(
events
.
closed
[
0
].
replaced
,
fals
e
);
// Active && Preview
const
input2
=
input
();
...
...
@@ -529,7 +529,7 @@ suite('Editor Stacks Model', () => {
assert
.
equal
(
group
.
activeEditor
,
void
0
);
assert
.
equal
(
events
.
closed
[
1
].
editor
,
input2
);
assert
.
equal
(
events
.
closed
[
1
].
index
,
0
);
assert
.
equal
(
events
.
closed
[
1
].
pinn
ed
,
false
);
assert
.
equal
(
events
.
closed
[
1
].
replac
ed
,
false
);
group
.
closeEditor
(
input2
);
assert
.
equal
(
group
.
count
,
0
);
...
...
@@ -748,6 +748,8 @@ suite('Editor Stacks Model', () => {
assert
.
equal
(
events
.
opened
[
2
],
input3
);
assert
.
equal
(
events
.
closed
[
0
].
editor
,
input1
);
assert
.
equal
(
events
.
closed
[
1
].
editor
,
input2
);
assert
.
equal
(
events
.
closed
[
0
].
replaced
,
true
);
assert
.
equal
(
events
.
closed
[
1
].
replaced
,
true
);
const
mru
=
group
.
getEditors
(
true
);
assert
.
equal
(
mru
[
0
],
input3
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录