Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
8c26e721
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,发现更多精彩内容 >>
提交
8c26e721
编写于
9月 06, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add push/pull option for output channels
上级
ad592db0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
14 deletion
+11
-14
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+3
-6
src/vs/workbench/api/node/extHostOutputService.ts
src/vs/workbench/api/node/extHostOutputService.ts
+8
-8
未找到文件。
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
8c26e721
...
...
@@ -61,8 +61,6 @@ import { ExtHostWebviews } from 'vs/workbench/api/node/extHostWebview';
import
{
ExtHostComments
}
from
'
./extHostComments
'
;
import
{
ExtHostSearch
}
from
'
./extHostSearch
'
;
import
{
ExtHostUrls
}
from
'
./extHostUrls
'
;
import
{
toLocalISOString
}
from
'
vs/base/common/date
'
;
import
{
posix
}
from
'
path
'
;
export
interface
IExtensionApiFactory
{
(
extension
:
IExtensionDescription
):
typeof
vscode
;
...
...
@@ -138,8 +136,7 @@ export function createApiFactory(
const
extHostMessageService
=
new
ExtHostMessageService
(
rpcProtocol
);
const
extHostDialogs
=
new
ExtHostDialogs
(
rpcProtocol
);
const
extHostStatusBar
=
new
ExtHostStatusBar
(
rpcProtocol
);
const
outputPath
=
posix
.
join
(
initData
.
logsLocation
.
fsPath
,
`output_logging_
${
toLocalISOString
(
new
Date
()).
replace
(
/-|:|
\.\d
+Z$/g
,
''
)}
`
);
const
extHostOutputService
=
new
ExtHostOutputService
(
outputPath
,
rpcProtocol
);
const
extHostOutputService
=
new
ExtHostOutputService
(
initData
.
logsLocation
,
rpcProtocol
);
const
extHostLanguages
=
new
ExtHostLanguages
(
rpcProtocol
);
// Register API-ish commands
...
...
@@ -435,8 +432,8 @@ export function createApiFactory(
withProgress
<
R
>
(
options
:
vscode
.
ProgressOptions
,
task
:
(
progress
:
vscode
.
Progress
<
{
message
?:
string
;
worked
?:
number
}
>
,
token
:
vscode
.
CancellationToken
)
=>
Thenable
<
R
>
)
{
return
extHostProgress
.
withProgress
(
extension
,
options
,
task
);
},
createOutputChannel
(
name
:
string
):
vscode
.
OutputChannel
{
return
extHostOutputService
.
createOutputChannel
(
name
);
createOutputChannel
(
name
:
string
,
push
?:
boolean
):
vscode
.
OutputChannel
{
return
extHostOutputService
.
createOutputChannel
(
name
,
push
);
},
createWebviewPanel
(
viewType
:
string
,
title
:
string
,
showOptions
:
vscode
.
ViewColumn
|
{
viewColumn
:
vscode
.
ViewColumn
,
preserveFocus
?:
boolean
},
options
:
vscode
.
WebviewPanelOptions
&
vscode
.
WebviewOptions
):
vscode
.
WebviewPanel
{
return
extHostWebviews
.
createWebview
(
extension
.
extensionLocation
,
viewType
,
title
,
showOptions
,
options
);
...
...
src/vs/workbench/api/node/extHostOutputService.ts
浏览文件 @
8c26e721
...
...
@@ -9,6 +9,7 @@ import * as vscode from 'vscode';
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
posix
}
from
'
path
'
;
import
{
OutputAppender
}
from
'
vs/platform/output/node/outputAppender
'
;
import
{
toLocalISOString
}
from
'
vs/base/common/date
'
;
export
abstract
class
AbstractExtHostOutputChannel
implements
vscode
.
OutputChannel
{
...
...
@@ -64,7 +65,7 @@ export abstract class AbstractExtHostOutputChannel implements vscode.OutputChann
}
}
export
class
ExtHostOutputChannel
extends
AbstractExtHostOutputChannel
{
export
class
ExtHost
Push
OutputChannel
extends
AbstractExtHostOutputChannel
{
constructor
(
name
:
string
,
proxy
:
MainThreadOutputServiceShape
)
{
super
(
name
,
null
,
proxy
);
...
...
@@ -76,13 +77,13 @@ export class ExtHostOutputChannel extends AbstractExtHostOutputChannel {
}
}
export
class
ExtHost
Logging
OutputChannel
extends
AbstractExtHostOutputChannel
{
export
class
ExtHost
Pull
OutputChannel
extends
AbstractExtHostOutputChannel
{
private
static
_namePool
=
1
;
private
_appender
:
OutputAppender
;
constructor
(
name
:
string
,
outputDir
:
string
,
proxy
:
MainThreadOutputServiceShape
)
{
const
fileName
=
`
${
ExtHost
Logging
OutputChannel
.
_namePool
++
}
-
${
name
}
`
;
const
fileName
=
`
${
ExtHost
Pull
OutputChannel
.
_namePool
++
}
-
${
name
}
`
;
const
file
=
URI
.
file
(
posix
.
join
(
outputDir
,
`
${
fileName
}
.log`
));
super
(
name
,
file
,
proxy
);
...
...
@@ -100,18 +101,17 @@ export class ExtHostOutputService {
private
_proxy
:
MainThreadOutputServiceShape
;
private
_outputDir
:
string
;
constructor
(
outputDir
:
string
,
mainContext
:
IMainContext
)
{
this
.
_outputDir
=
outputDir
;
constructor
(
logsLocation
:
URI
,
mainContext
:
IMainContext
)
{
this
.
_outputDir
=
posix
.
join
(
logsLocation
.
fsPath
,
`output_logging_
${
toLocalISOString
(
new
Date
()).
replace
(
/-|:|
\.\d
+Z$/g
,
''
)}
`
)
;
this
.
_proxy
=
mainContext
.
getProxy
(
MainContext
.
MainThreadOutputService
);
}
createOutputChannel
(
name
:
string
,
logging
?
:
boolean
):
vscode
.
OutputChannel
{
createOutputChannel
(
name
:
string
,
push
:
boolean
):
vscode
.
OutputChannel
{
name
=
name
.
trim
();
if
(
!
name
)
{
throw
new
Error
(
'
illegal argument `name`. must not be falsy
'
);
}
else
{
// return logging ? new ExtHostLoggingOutputChannel(name, this._outputDir, this._proxy) : new ExtHostOutputChannel(name, this._proxy);
return
new
ExtHostLoggingOutputChannel
(
name
,
this
.
_outputDir
,
this
.
_proxy
);
return
push
?
new
ExtHostPushOutputChannel
(
name
,
this
.
_proxy
)
:
new
ExtHostPullOutputChannel
(
name
,
this
.
_outputDir
,
this
.
_proxy
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录