Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
debe0292
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,发现更多精彩内容 >>
提交
debe0292
编写于
11月 24, 2015
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
allow to run plugin tests through the command line
上级
303b02ee
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
35 addition
and
6 deletion
+35
-6
src/vs/workbench/electron-main/env.ts
src/vs/workbench/electron-main/env.ts
+3
-0
src/vs/workbench/electron-main/lifecycle.ts
src/vs/workbench/electron-main/lifecycle.ts
+2
-1
src/vs/workbench/electron-main/windows.ts
src/vs/workbench/electron-main/windows.ts
+19
-2
src/vs/workbench/services/thread/electron-browser/threadService.ts
...rkbench/services/thread/electron-browser/threadService.ts
+11
-3
未找到文件。
src/vs/workbench/electron-main/env.ts
浏览文件 @
debe0292
...
...
@@ -106,6 +106,9 @@ if (!fs.existsSync(userPluginsHome)) {
fs
.
mkdirSync
(
userPluginsHome
);
}
// Helper to identify if we have plugin tests to run from the command line without debugger
export
const
isTestingFromCli
=
cliArgs
.
pluginTestsPath
&&
!
cliArgs
.
debugBrkPluginHost
;
export
function
log
(...
a
:
any
[]):
void
{
if
(
cliArgs
.
verboseLogging
)
{
console
.
log
.
apply
(
null
,
a
);
...
...
src/vs/workbench/electron-main/lifecycle.ts
浏览文件 @
debe0292
...
...
@@ -67,7 +67,8 @@ export class Lifecycle {
// Windows/Linux: we quit when all windows have closed
// Mac: we only quit when quit was requested
if
(
this
.
quitRequested
||
process
.
platform
!==
'
darwin
'
)
{
// Tests: we always quit
if
(
this
.
quitRequested
||
process
.
platform
!==
'
darwin
'
||
env
.
isTestingFromCli
)
{
app
.
quit
();
}
});
...
...
src/vs/workbench/electron-main/windows.ts
浏览文件 @
debe0292
...
...
@@ -85,6 +85,11 @@ export interface IOpenedPathsList {
files
:
string
[];
}
interface
ILogEntry
{
severity
:
string
;
arguments
:
any
;
}
export
class
WindowsManager
{
public
static
autoSaveDelayStorageKey
=
'
autoSaveDelay
'
;
...
...
@@ -121,7 +126,7 @@ export class WindowsManager {
}
private
registerListeners
():
void
{
app
.
on
(
'
activate
'
,
(
event
:
Event
,
hasVisibleWindows
:
boolean
)
=>
{
app
.
on
(
'
activate
'
,
(
event
:
Event
,
hasVisibleWindows
:
boolean
)
=>
{
env
.
log
(
'
App#activate
'
);
// Mac only event: reopen last window when we get activated
...
...
@@ -247,7 +252,19 @@ export class WindowsManager {
if
(
broadcast
.
channel
&&
broadcast
.
payload
)
{
this
.
sendToAll
(
'
vscode:broadcast
'
,
broadcast
,
[
windowId
]);
}
})
});
ipc
.
on
(
'
vscode:log
'
,
(
event
:
Event
,
logEntry
:
ILogEntry
)
=>
{
let
args
=
[];
try
{
let
parsed
=
JSON
.
parse
(
logEntry
.
arguments
);
args
.
push
(...
Object
.
getOwnPropertyNames
(
parsed
).
map
(
o
=>
parsed
[
o
]));
}
catch
(
error
)
{
args
.
push
(
logEntry
.
arguments
);
}
console
[
logEntry
.
severity
].
apply
(
console
,
args
);
});
UpdateManager
.
on
(
'
update-downloaded
'
,
(
update
:
IUpdate
)
=>
{
this
.
sendToFocused
(
'
vscode:telemetry
'
,
{
eventName
:
'
update:downloaded
'
,
data
:
{
version
:
update
.
version
}
});
...
...
src/vs/workbench/services/thread/electron-browser/threadService.ts
浏览文件 @
debe0292
...
...
@@ -107,6 +107,7 @@ class PluginHostProcessManager {
public
startPluginHostProcess
(
onPluginHostMessage
:
(
msg
:
any
)
=>
void
):
void
{
let
config
=
this
.
contextService
.
getConfiguration
();
let
isDev
=
!
config
.
env
.
isBuilt
||
!!
config
.
env
.
pluginDevelopmentPath
;
let
isTestingFromCli
=
!!
config
.
env
.
pluginTestsPath
&&
!
config
.
env
.
debugBrkPluginHost
;
let
opts
:
any
=
{
env
:
objects
.
mixin
(
objects
.
clone
(
process
.
env
),
{
AMD_ENTRYPOINT
:
'
vs/workbench/node/pluginHostProcess
'
,
PIPE_LOGGING
:
'
true
'
,
VERBOSE_LOGGING
:
true
})
...
...
@@ -184,11 +185,18 @@ class PluginHostProcessManager {
consoleArgs
=
[
'
%c[Plugin Host]
'
,
'
color: blue
'
,
...
args
];
}
// Send to local console
console
[
logEntry
.
severity
].
apply
(
console
,
consoleArgs
);
// Send to local console unless we run tests from cli
if
(
!
isTestingFromCli
)
{
console
[
logEntry
.
severity
].
apply
(
console
,
consoleArgs
);
}
// Log on main side if running tests from cli
if
(
isTestingFromCli
)
{
ipc
.
send
(
'
vscode:log
'
,
logEntry
);
}
// Broadcast to other windows if we are in development mode
if
(
isDev
)
{
else
if
(
isDev
)
{
this
.
windowService
.
broadcast
({
channel
:
PLUGIN_LOG_BROADCAST_CHANNEL
,
payload
:
logEntry
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录