Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
8a401644
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,发现更多精彩内容 >>
提交
8a401644
编写于
6月 14, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
explorerView: reduce use of root more
上级
c3e8d3a3
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
25 addition
and
26 deletion
+25
-26
src/vs/workbench/parts/files/browser/views/explorerView.ts
src/vs/workbench/parts/files/browser/views/explorerView.ts
+25
-26
未找到文件。
src/vs/workbench/parts/files/browser/views/explorerView.ts
浏览文件 @
8a401644
...
...
@@ -301,7 +301,7 @@ export class ExplorerView extends CollapsibleView {
lastActiveFileResource
=
URI
.
parse
(
this
.
settings
[
ExplorerView
.
MEMENTO_LAST_ACTIVE_FILE_RESOURCE
]);
}
if
(
lastActiveFileResource
&&
this
.
isCreated
&&
this
.
root
.
find
(
lastActiveFileResource
))
{
if
(
lastActiveFileResource
&&
this
.
isCreated
&&
this
.
model
.
findFirst
(
lastActiveFileResource
))
{
this
.
editorService
.
openEditor
({
resource
:
lastActiveFileResource
,
options
:
{
revealIfVisible
:
true
}
}).
done
(
null
,
errors
.
onUnexpectedError
);
return
refreshPromise
;
...
...
@@ -420,25 +420,24 @@ export class ExplorerView extends CollapsibleView {
}
let
modelElement
:
FileStat
;
let
parent
:
FileStat
;
let
parent
s
:
FileStat
[]
;
let
parentResource
:
URI
;
let
parentElement
:
FileStat
;
// Add
if
(
e
.
operation
===
FileOperation
.
CREATE
||
e
.
operation
===
FileOperation
.
IMPORT
||
e
.
operation
===
FileOperation
.
COPY
)
{
const
addedElement
=
e
.
target
;
parentResource
=
URI
.
file
(
paths
.
dirname
(
addedElement
.
resource
.
fsPath
));
parent
Element
=
this
.
root
.
find
(
parentResource
);
parent
s
=
this
.
model
.
findAll
(
parentResource
);
if
(
parent
Element
)
{
if
(
parent
s
.
length
)
{
// Add the new file to its parent (Model)
const
childElement
=
FileStat
.
create
(
addedElement
);
parent
Element
.
removeChild
(
childElement
);
// make sure to remove any previous version of the file if any
parent
Element
.
addChild
(
childElement
);
parent
s
[
0
]
.
removeChild
(
childElement
);
// make sure to remove any previous version of the file if any
parent
s
[
0
]
.
addChild
(
childElement
);
// Refresh the Parent (View)
this
.
explorerViewer
.
refresh
(
parent
Element
).
then
(()
=>
{
this
.
explorerViewer
.
refresh
(
parent
s
).
then
(()
=>
{
return
this
.
reveal
(
childElement
,
0.5
).
then
(()
=>
{
// Focus new element
...
...
@@ -465,16 +464,16 @@ export class ExplorerView extends CollapsibleView {
// Handle Rename
if
(
oldParentResource
&&
newParentResource
&&
oldParentResource
.
toString
()
===
newParentResource
.
toString
())
{
modelElement
=
this
.
root
.
find
(
oldResource
);
modelElement
=
this
.
model
.
findFirst
(
oldResource
);
if
(
modelElement
)
{
// Rename File (Model)
modelElement
.
rename
(
newElement
);
// Update Parent (View)
parent
=
modelElement
.
parent
;
if
(
parent
)
{
this
.
explorerViewer
.
refresh
(
parent
).
done
(()
=>
{
parent
s
=
this
.
model
.
findAll
(
modelElement
.
parent
.
resource
)
;
if
(
parent
s
.
length
)
{
this
.
explorerViewer
.
refresh
(
parent
s
).
done
(()
=>
{
// Select in Viewer if set
if
(
restoreFocus
)
{
...
...
@@ -487,21 +486,21 @@ export class ExplorerView extends CollapsibleView {
// Handle Move
else
if
(
oldParentResource
&&
newParentResource
)
{
const
oldParent
=
this
.
root
.
find
(
oldParentResource
);
const
newParent
=
this
.
root
.
find
(
newParentResource
);
modelElement
=
this
.
root
.
find
(
oldResource
);
const
oldParent
s
=
this
.
model
.
findAll
(
oldParentResource
);
const
newParent
s
=
this
.
model
.
findAll
(
newParentResource
);
modelElement
=
this
.
model
.
findFirst
(
oldResource
);
if
(
oldParent
&&
newParent
&&
modelElement
)
{
if
(
oldParent
s
.
length
&&
newParents
.
length
&&
modelElement
)
{
// Move in Model
modelElement
.
move
(
newParent
,
(
callback
:
()
=>
void
)
=>
{
modelElement
.
move
(
newParent
s
[
0
]
,
(
callback
:
()
=>
void
)
=>
{
// Update old parent
this
.
explorerViewer
.
refresh
(
oldParent
,
true
).
done
(
callback
,
errors
.
onUnexpectedError
);
this
.
explorerViewer
.
refresh
(
oldParent
s
,
true
).
done
(
callback
,
errors
.
onUnexpectedError
);
},
()
=>
{
// Update new parent
this
.
explorerViewer
.
refresh
(
newParent
,
true
).
done
(()
=>
this
.
explorerViewer
.
expand
(
newParent
),
errors
.
onUnexpectedError
);
this
.
explorerViewer
.
refresh
(
newParent
s
,
true
).
done
(()
=>
this
.
explorerViewer
.
expand
(
newParents
[
0
]
),
errors
.
onUnexpectedError
);
});
}
}
...
...
@@ -509,16 +508,16 @@ export class ExplorerView extends CollapsibleView {
// Delete
else
if
(
e
.
operation
===
FileOperation
.
DELETE
)
{
modelElement
=
this
.
root
.
find
(
e
.
resource
);
modelElement
=
this
.
model
.
findFirst
(
e
.
resource
);
if
(
modelElement
&&
modelElement
.
parent
)
{
parent
=
modelElement
.
parent
;
parent
s
=
this
.
model
.
findAll
(
modelElement
.
parent
.
resource
)
;
// Remove Element from Parent (Model)
parent
.
removeChild
(
modelElement
);
parent
s
[
0
]
.
removeChild
(
modelElement
);
// Refresh Parent (View)
const
restoreFocus
=
this
.
explorerViewer
.
isDOMFocused
();
this
.
explorerViewer
.
refresh
(
parent
).
done
(()
=>
{
this
.
explorerViewer
.
refresh
(
parent
s
).
done
(()
=>
{
// Ensure viewer has keyboard focus if event originates from viewer
if
(
restoreFocus
)
{
...
...
@@ -592,8 +591,8 @@ export class ExplorerView extends CollapsibleView {
}
// Compute if parent is visible and added file not yet part of it
const
parentStat
=
this
.
root
.
find
(
URI
.
file
(
parent
));
if
(
parentStat
&&
parentStat
.
isDirectoryResolved
&&
!
this
.
root
.
find
(
change
.
resource
))
{
const
parentStat
=
this
.
model
.
findFirst
(
URI
.
file
(
parent
));
if
(
parentStat
&&
parentStat
.
isDirectoryResolved
&&
!
this
.
model
.
findFirst
(
change
.
resource
))
{
return
true
;
}
...
...
@@ -610,7 +609,7 @@ export class ExplorerView extends CollapsibleView {
continue
;
// out of workspace file
}
if
(
this
.
root
.
find
(
del
.
resource
))
{
if
(
this
.
model
.
findFirst
(
del
.
resource
))
{
return
true
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录