Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
de42a6d9
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,发现更多精彩内容 >>
提交
de42a6d9
编写于
10月 27, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #37026
上级
62ff872b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
8 deletion
+36
-8
src/vs/workbench/browser/parts/views/viewsViewlet.ts
src/vs/workbench/browser/parts/views/viewsViewlet.ts
+22
-7
src/vs/workbench/parts/files/browser/explorerViewlet.ts
src/vs/workbench/parts/files/browser/explorerViewlet.ts
+14
-1
未找到文件。
src/vs/workbench/browser/parts/views/viewsViewlet.ts
浏览文件 @
de42a6d9
...
...
@@ -244,8 +244,7 @@ export class ViewsViewlet extends PanelViewlet {
// Update headers after and title contributed views after available, since we read from cache in the beginning to know if the viewlet has single view or not. Ref #29609
this
.
extensionService
.
onReady
().
then
(()
=>
{
this
.
areExtensionsReady
=
true
;
this
.
updateViewHeaders
();
this
.
updateTitleArea
();
this
.
updateHeaders
();
});
this
.
onViewsRegistered
(
ViewsRegistry
.
getViews
(
this
.
location
));
...
...
@@ -408,6 +407,8 @@ export class ViewsViewlet extends PanelViewlet {
const
size
=
(
viewState
&&
viewState
.
size
)
||
viewDescriptor
.
size
||
200
;
this
.
addPanel
(
view
,
size
,
index
);
this
.
viewsViewletPanels
.
splice
(
index
,
0
,
view
);
this
.
viewsStates
.
set
(
view
.
id
,
this
.
updateViewStateSize
(
view
));
}
return
TPromise
.
join
(
toCreate
.
map
(
view
=>
view
.
create
()))
...
...
@@ -496,6 +497,13 @@ export class ViewsViewlet extends PanelViewlet {
return
this
.
setVisible
(
this
.
isVisible
());
}
private
updateHeaders
():
void
{
if
(
this
.
viewsViewletPanels
.
length
)
{
this
.
updateTitleArea
();
this
.
updateViewHeaders
();
}
}
private
onContextMenu
(
event
:
StandardMouseEvent
,
view
:
ViewsViewletPanel
):
void
{
event
.
stopPropagation
();
event
.
preventDefault
();
...
...
@@ -516,11 +524,14 @@ export class ViewsViewlet extends PanelViewlet {
if
(
!
this
.
showHeaderInTitleWhenSingleView
)
{
return
false
;
}
if
(
this
.
viewsViewletPanels
.
length
>
1
)
{
if
(
this
.
getViewDescriptorsFromRegistry
().
length
===
0
)
{
return
false
;
}
if
(
this
.
length
>
1
)
{
return
false
;
}
// Check in cache so that view do not jump. See #29609
if
(
ViewLocation
.
getContributedViewLocation
(
this
.
location
.
id
)
&&
!
this
.
areExtensionsReady
)
{
// Checks in cache so that view do not jump. See #29609
let
visibleViewsCount
=
0
;
this
.
viewsStates
.
forEach
((
viewState
,
id
)
=>
{
if
(
!
viewState
.
isHidden
)
{
...
...
@@ -529,7 +540,7 @@ export class ViewsViewlet extends PanelViewlet {
});
return
visibleViewsCount
===
1
;
}
return
true
;
return
super
.
isSingleView
()
;
}
protected
getViewDescriptorsFromRegistry
(
defaultOrder
:
boolean
=
false
):
IViewDescriptor
[]
{
...
...
@@ -596,7 +607,11 @@ export class PersistentViewsViewlet extends ViewsViewlet {
@
IExtensionService
extensionService
:
IExtensionService
)
{
super
(
id
,
location
,
showHeaderInTitleWhenSingleView
,
telemetryService
,
storageService
,
instantiationService
,
themeService
,
contextKeyService
,
contextMenuService
,
extensionService
);
}
create
(
parent
:
Builder
):
TPromise
<
void
>
{
this
.
loadViewsStates
();
return
super
.
create
(
parent
);
}
shutdown
():
void
{
...
...
@@ -604,7 +619,7 @@ export class PersistentViewsViewlet extends ViewsViewlet {
super
.
shutdown
();
}
pr
ivate
saveViewsStates
():
void
{
pr
otected
saveViewsStates
():
void
{
const
viewsStates
=
{};
const
registeredViewDescriptors
=
this
.
getViewDescriptorsFromRegistry
();
this
.
viewsStates
.
forEach
((
viewState
,
id
)
=>
{
...
...
@@ -623,7 +638,7 @@ export class PersistentViewsViewlet extends ViewsViewlet {
this
.
storageService
.
store
(
this
.
viewletStateStorageId
,
JSON
.
stringify
(
viewsStates
),
this
.
contextService
.
getWorkbenchState
()
!==
WorkbenchState
.
EMPTY
?
StorageScope
.
WORKSPACE
:
StorageScope
.
GLOBAL
);
}
pr
ivate
loadViewsStates
():
void
{
pr
otected
loadViewsStates
():
void
{
const
viewsStates
=
JSON
.
parse
(
this
.
storageService
.
get
(
this
.
viewletStateStorageId
,
this
.
contextService
.
getWorkbenchState
()
!==
WorkbenchState
.
EMPTY
?
StorageScope
.
WORKSPACE
:
StorageScope
.
GLOBAL
,
'
{}
'
));
Object
.
keys
(
viewsStates
).
forEach
(
id
=>
this
.
viewsStates
.
set
(
id
,
<
IViewState
>
viewsStates
[
id
]));
}
...
...
src/vs/workbench/parts/files/browser/explorerViewlet.ts
浏览文件 @
de42a6d9
...
...
@@ -157,7 +157,11 @@ export class ExplorerViewlet extends PersistentViewsViewlet {
}
private
updateOpenEditorsVisibility
():
void
{
this
.
openEditorsVisibleContextKey
.
set
(
this
.
contextService
.
getWorkbenchState
()
===
WorkbenchState
.
EMPTY
||
this
.
configurationService
.
getValue
(
'
explorer.openEditors.visible
'
)
!==
0
);
this
.
openEditorsVisibleContextKey
.
set
(
this
.
isOpenEditorsVisible
());
}
private
isOpenEditorsVisible
():
boolean
{
return
this
.
contextService
.
getWorkbenchState
()
===
WorkbenchState
.
EMPTY
||
this
.
configurationService
.
getValue
(
'
explorer.openEditors.visible
'
)
!==
0
;
}
protected
createView
(
viewDescriptor
:
IViewDescriptor
,
options
:
IViewletViewOptions
):
ViewsViewletPanel
{
...
...
@@ -290,4 +294,13 @@ export class ExplorerViewlet extends PersistentViewsViewlet {
public
getViewletState
():
FileViewletState
{
return
this
.
viewletState
;
}
protected
loadViewsStates
():
void
{
super
.
loadViewsStates
();
// Remove the open editors view state if it is removed globally
if
(
!
this
.
isOpenEditorsVisible
())
{
this
.
viewsStates
.
delete
(
OpenEditorsView
.
ID
);
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录