Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
6808ed5b
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,发现更多精彩内容 >>
提交
6808ed5b
编写于
11月 07, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ipc: drop update related IPC messages
上级
b158869d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
52 deletion
+36
-52
src/vs/code/electron-main/windows.ts
src/vs/code/electron-main/windows.ts
+0
-31
src/vs/platform/update/electron-main/updateService.ts
src/vs/platform/update/electron-main/updateService.ts
+11
-1
src/vs/workbench/parts/update/electron-browser/update.ts
src/vs/workbench/parts/update/electron-browser/update.ts
+25
-20
未找到文件。
src/vs/code/electron-main/windows.ts
浏览文件 @
6808ed5b
...
...
@@ -22,7 +22,6 @@ import { ipcMain as ipc, app, screen, BrowserWindow, dialog } from 'electron';
import
{
IPathWithLineAndColumn
,
parseLineAndColumnAware
}
from
'
vs/code/electron-main/paths
'
;
import
{
ILifecycleService
}
from
'
vs/code/electron-main/lifecycle
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IUpdateService
}
from
'
vs/platform/update/common/update
'
;
import
{
ILogService
}
from
'
vs/code/electron-main/log
'
;
import
{
IWindowEventService
}
from
'
vs/code/common/windows
'
;
import
{
createDecorator
,
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
...
...
@@ -152,7 +151,6 @@ export class WindowsManager implements IWindowsMainService, IWindowEventService
@
IStorageService
private
storageService
:
IStorageService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
ILifecycleService
private
lifecycleService
:
ILifecycleService
,
@
IUpdateService
private
updateService
:
IUpdateService
,
@
IConfigurationService
private
configurationService
:
IConfigurationService
)
{
}
...
...
@@ -249,35 +247,6 @@ export class WindowsManager implements IWindowsMainService, IWindowEventService
}
});
this
.
updateService
.
onUpdateReady
(
update
=>
{
this
.
sendToFocused
(
'
vscode:telemetry
'
,
{
eventName
:
'
update:downloaded
'
,
data
:
{
version
:
update
.
version
}
});
this
.
sendToAll
(
'
vscode:update-downloaded
'
,
JSON
.
stringify
({
releaseNotes
:
update
.
releaseNotes
,
version
:
update
.
version
,
date
:
update
.
date
}));
});
ipc
.
on
(
'
vscode:update-apply
'
,
()
=>
{
this
.
logService
.
log
(
'
IPC#vscode:update-apply
'
);
this
.
updateService
.
quitAndInstall
();
});
this
.
updateService
.
onUpdateNotAvailable
(
explicit
=>
{
this
.
sendToFocused
(
'
vscode:telemetry
'
,
{
eventName
:
'
update:notAvailable
'
,
data
:
{
explicit
}
});
if
(
explicit
)
{
this
.
sendToFocused
(
'
vscode:update-not-available
'
,
''
);
}
});
this
.
updateService
.
onUpdateAvailable
(({
url
,
version
})
=>
{
if
(
url
)
{
this
.
sendToFocused
(
'
vscode:update-available
'
,
url
,
version
);
}
});
this
.
lifecycleService
.
onBeforeQuit
(()
=>
{
// 0-1 window open: Do not keep the list but just rely on the active window to be stored
...
...
src/vs/platform/update/electron-main/updateService.ts
浏览文件 @
6808ed5b
...
...
@@ -23,6 +23,16 @@ import product from 'vs/platform/product';
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IUpdateService
,
State
,
IAutoUpdater
,
IUpdate
,
IRawUpdate
}
from
'
vs/platform/update/common/update
'
;
// TODO@Joao: add telemetry
//
// this.updateService.onUpdateReady(update => {
// this.sendToFocused('vscode:telemetry', { eventName: 'update:downloaded', data: { version: update.version } });
// });
// this.updateService.onUpdateNotAvailable(explicit => {
// this.sendToFocused('vscode:telemetry', { eventName: 'update:notAvailable', data: { explicit } });
// });
export
class
UpdateService
implements
IUpdateService
{
_serviceBrand
:
any
;
...
...
@@ -233,4 +243,4 @@ export class UpdateService implements IUpdateService {
this
.
raw
.
quitAndInstall
();
});
}
}
}
\ No newline at end of file
src/vs/workbench/parts/update/electron-browser/update.ts
浏览文件 @
6808ed5b
...
...
@@ -9,7 +9,6 @@ import nls = require('vs/nls');
import
severity
from
'
vs/base/common/severity
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
ipcRenderer
as
ipc
}
from
'
electron
'
;
import
{
IMessageService
,
CloseAction
,
Severity
}
from
'
vs/platform/message/common/message
'
;
import
pkg
from
'
vs/platform/package
'
;
import
product
from
'
vs/platform/product
'
;
...
...
@@ -25,21 +24,18 @@ import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation
import
{
IOpenerService
}
from
'
vs/platform/opener/common/opener
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
IUpdateService
}
from
'
vs/platform/update/common/update
'
;
import
*
as
semver
from
'
semver
'
;
interface
IUpdate
{
releaseNotes
:
string
;
version
:
string
;
date
:
string
;
}
class
ApplyUpdateAction
extends
Action
{
constructor
(
@
IUpdateService
private
updateService
:
IUpdateService
)
{
super
(
'
update.applyUpdate
'
,
nls
.
localize
(
'
updateNow
'
,
"
Update Now
"
),
null
,
true
);
}
const
ApplyUpdateAction
=
new
Action
(
'
update.applyUpdate
'
,
nls
.
localize
(
'
updateNow
'
,
"
Update Now
"
),
null
,
true
,
()
=>
{
ipc
.
send
(
'
vscode:update-apply
'
);
return
TPromise
.
as
(
true
);
}
);
run
():
TPromise
<
void
>
{
return
this
.
updateService
.
quitAndInstall
();
}
}
const
NotNowAction
=
new
Action
(
'
update.later
'
,
...
...
@@ -196,6 +192,7 @@ export class UpdateContribution implements IWorkbenchContribution {
@
IStorageService
storageService
:
IStorageService
,
@
IInstantiationService
instantiationService
:
IInstantiationService
,
@
IMessageService
messageService
:
IMessageService
,
@
IUpdateService
updateService
:
IUpdateService
,
@
IWorkbenchEditorService
editorService
:
IWorkbenchEditorService
)
{
const
lastVersion
=
storageService
.
get
(
UpdateContribution
.
KEY
,
StorageScope
.
GLOBAL
,
''
);
...
...
@@ -250,26 +247,34 @@ export class UpdateContribution implements IWorkbenchContribution {
storageService
.
store
(
UpdateContribution
.
KEY
,
pkg
.
version
,
StorageScope
.
GLOBAL
);
ipc
.
on
(
'
vscode:update-downloaded
'
,
(
event
,
data
:
string
)
=>
{
const
update
=
JSON
.
parse
(
data
)
as
IUpdate
;
updateService
.
onUpdateReady
(
update
=>
{
const
applyUpdateAction
=
instantiationService
.
createInstance
(
ApplyUpdateAction
)
;
const
releaseNotesAction
=
instantiationService
.
createInstance
(
ShowReleaseNotesAction
,
false
,
update
.
version
);
messageService
.
show
(
severity
.
Info
,
{
message
:
nls
.
localize
(
'
updateAvailable
'
,
"
{0} will be updated after it restarts.
"
,
product
.
nameLong
),
actions
:
[
A
pplyUpdateAction
,
NotNowAction
,
releaseNotesAction
]
actions
:
[
a
pplyUpdateAction
,
NotNowAction
,
releaseNotesAction
]
});
});
ipc
.
on
(
'
vscode:update-available
'
,
(
event
,
url
:
string
,
version
:
string
)
=>
{
const
releaseNotesAction
=
instantiationService
.
createInstance
(
ShowReleaseNotesAction
,
false
,
version
);
updateService
.
onUpdateAvailable
(
update
=>
{
if
(
!
update
.
url
)
{
return
;
}
const
releaseNotesAction
=
instantiationService
.
createInstance
(
ShowReleaseNotesAction
,
false
,
update
.
version
);
messageService
.
show
(
severity
.
Info
,
{
message
:
nls
.
localize
(
'
thereIsUpdateAvailable
'
,
"
There is an available update.
"
),
actions
:
[
DownloadAction
(
url
),
NotNowAction
,
releaseNotesAction
]
actions
:
[
DownloadAction
(
u
pdate
.
u
rl
),
NotNowAction
,
releaseNotesAction
]
});
});
ipc
.
on
(
'
vscode:update-not-available
'
,
()
=>
{
updateService
.
onUpdateNotAvailable
(
explicit
=>
{
if
(
!
explicit
)
{
return
;
}
messageService
.
show
(
severity
.
Info
,
nls
.
localize
(
'
noUpdatesAvailable
'
,
"
There are no updates currently available.
"
));
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录