Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
8769dbe3
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,发现更多精彩内容 >>
提交
8769dbe3
编写于
12月 18, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#40196 Dispose output writers on shutdown
上级
9df90b3d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
2 deletion
+13
-2
src/vs/workbench/parts/output/electron-browser/outputServices.ts
...workbench/parts/output/electron-browser/outputServices.ts
+13
-2
未找到文件。
src/vs/workbench/parts/output/electron-browser/outputServices.ts
浏览文件 @
8769dbe3
...
...
@@ -32,6 +32,7 @@ import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/edi
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
RotatingLogger
}
from
'
spdlog
'
;
import
{
toLocalISOString
}
from
'
vs/base/common/date
'
;
import
{
ILifecycleService
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
const
OUTPUT_ACTIVE_CHANNEL_KEY
=
'
output.activechannel
'
;
...
...
@@ -235,6 +236,7 @@ class AppendableFileOutputChannel extends AbstractOutputChannel implements Outpu
this
.
outputWriter
=
new
RotatingLogger
(
this
.
id
,
this
.
file
.
fsPath
,
1024
*
1024
*
30
,
5
);
this
.
outputWriter
.
clearFormatters
();
this
.
_register
(
toDisposable
(()
=>
this
.
outputWriter
.
drop
()));
}
append
(
message
:
string
):
void
{
...
...
@@ -270,7 +272,7 @@ class AppendableFileOutputChannel extends AbstractOutputChannel implements Outpu
}
}
export
class
OutputService
implements
IOutputService
,
ITextModelContentProvider
{
export
class
OutputService
extends
Disposable
implements
IOutputService
,
ITextModelContentProvider
{
public
_serviceBrand
:
any
;
...
...
@@ -289,8 +291,10 @@ export class OutputService implements IOutputService, ITextModelContentProvider
@
IWorkspaceContextService
contextService
:
IWorkspaceContextService
,
@
ITextModelService
textModelResolverService
:
ITextModelService
,
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
ILifecycleService
lifecycleService
:
ILifecycleService
)
{
super
();
const
channels
=
this
.
getChannels
();
this
.
activeChannelId
=
this
.
storageService
.
get
(
OUTPUT_ACTIVE_CHANNEL_KEY
,
StorageScope
.
WORKSPACE
,
channels
&&
channels
.
length
>
0
?
channels
[
0
].
id
:
null
);
...
...
@@ -302,6 +306,8 @@ export class OutputService implements IOutputService, ITextModelContentProvider
this
.
onDidPanelOpen
(
this
.
panelService
.
getActivePanel
());
panelService
.
onDidPanelOpen
(
this
.
onDidPanelOpen
,
this
);
panelService
.
onDidPanelClose
(
this
.
onDidPanelClose
,
this
);
lifecycleService
.
onShutdown
(()
=>
this
.
dispose
());
}
provideTextContent
(
resource
:
URI
):
TPromise
<
IModel
>
{
...
...
@@ -409,4 +415,9 @@ export class OutputService implements IOutputService, ITextModelContentProvider
const
label
=
channelData
?
channelData
.
label
:
channelId
;
return
this
.
instantiationService
.
createInstance
(
ResourceEditorInput
,
nls
.
localize
(
'
output
'
,
"
{0} - Output
"
,
label
),
nls
.
localize
(
'
channel
'
,
"
Output channel for '{0}'
"
,
label
),
resource
);
}
dispose
():
void
{
this
.
channels
.
forEach
(
channel
=>
channel
.
dispose
());
super
.
dispose
();
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录