Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7b715524
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,发现更多精彩内容 >>
提交
7b715524
编写于
7月 20, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#54483 Forward compatibility
上级
dab93d37
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
2 deletion
+33
-2
src/vs/code/electron-main/windows.ts
src/vs/code/electron-main/windows.ts
+33
-2
未找到文件。
src/vs/code/electron-main/windows.ts
浏览文件 @
7b715524
...
...
@@ -34,7 +34,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import
{
mnemonicButtonLabel
}
from
'
vs/base/common/labels
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
normalizeNFC
}
from
'
vs/base/common/normalization
'
;
import
URI
from
'
vs/base/common/uri
'
;
import
URI
,
{
UriComponents
}
from
'
vs/base/common/uri
'
;
import
{
Queue
}
from
'
vs/base/common/async
'
;
import
{
exists
}
from
'
vs/base/node/pfs
'
;
...
...
@@ -54,6 +54,11 @@ interface IWindowState {
uiState
:
ISingleWindowState
;
}
interface
IBackwardCompatibleWindowState
extends
IWindowState
{
folderUri
?:
UriComponents
;
}
interface
IWindowsState
{
lastActiveWindow
?:
IWindowState
;
lastPluginDevelopmentHostWindow
?:
IWindowState
;
...
...
@@ -144,7 +149,7 @@ export class WindowsManager implements IWindowsMainService {
@
IWorkspacesMainService
private
workspacesMainService
:
IWorkspacesMainService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
this
.
windowsState
=
this
.
stateService
.
getItem
<
IWindowsState
>
(
WindowsManager
.
windowsStateStorageKey
)
||
{
openedWindows
:
[]
}
;
this
.
windowsState
=
this
.
getWindowsState
()
;
if
(
!
Array
.
isArray
(
this
.
windowsState
.
openedWindows
))
{
this
.
windowsState
.
openedWindows
=
[];
}
...
...
@@ -153,6 +158,32 @@ export class WindowsManager implements IWindowsMainService {
this
.
workspacesManager
=
new
WorkspacesManager
(
workspacesMainService
,
backupMainService
,
environmentService
,
this
);
}
private
getWindowsState
():
IWindowsState
{
const
windowsState
=
this
.
stateService
.
getItem
<
IWindowsState
>
(
WindowsManager
.
windowsStateStorageKey
)
||
{
openedWindows
:
[]
};
if
(
windowsState
.
lastActiveWindow
)
{
windowsState
.
lastActiveWindow
=
this
.
revive
(
windowsState
.
lastActiveWindow
);
}
if
(
windowsState
.
lastPluginDevelopmentHostWindow
)
{
windowsState
.
lastPluginDevelopmentHostWindow
=
this
.
revive
(
windowsState
.
lastPluginDevelopmentHostWindow
);
}
if
(
windowsState
.
openedWindows
)
{
windowsState
.
openedWindows
=
arrays
.
coalesce
(
windowsState
.
openedWindows
.
map
(
windowState
=>
this
.
revive
(
windowState
)));
}
return
windowsState
;
}
private
revive
(
windowState
:
IWindowState
):
IWindowState
{
if
((
<
IBackwardCompatibleWindowState
>
windowState
).
folderUri
)
{
const
uri
=
URI
.
revive
((
<
IBackwardCompatibleWindowState
>
windowState
).
folderUri
);
if
(
uri
.
scheme
===
Schemas
.
file
)
{
windowState
.
folderPath
=
uri
.
fsPath
;
}
else
{
return
null
;
}
}
return
windowState
;
}
ready
(
initialUserEnv
:
IProcessEnvironment
):
void
{
this
.
initialUserEnv
=
initialUserEnv
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录