Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
29b13ead
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,发现更多精彩内容 >>
提交
29b13ead
编写于
6月 07, 2019
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use DisposableStore over IDisposable[]
上级
a3ff1a4e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
24 deletion
+21
-24
src/vs/editor/contrib/format/formatActions.ts
src/vs/editor/contrib/format/formatActions.ts
+21
-24
未找到文件。
src/vs/editor/contrib/format/formatActions.ts
浏览文件 @
29b13ead
...
...
@@ -6,7 +6,7 @@
import
{
isNonEmptyArray
}
from
'
vs/base/common/arrays
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
KeyChord
,
KeyCode
,
KeyMod
}
from
'
vs/base/common/keyCodes
'
;
import
{
dispose
,
IDisposabl
e
}
from
'
vs/base/common/lifecycle
'
;
import
{
DisposableStor
e
}
from
'
vs/base/common/lifecycle
'
;
import
{
ICodeEditor
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
EditorAction
,
registerEditorAction
,
registerEditorContribution
,
ServicesAccessor
}
from
'
vs/editor/browser/editorExtensions
'
;
import
{
ICodeEditorService
}
from
'
vs/editor/browser/services/codeEditorService
'
;
...
...
@@ -30,18 +30,18 @@ class FormatOnType implements editorCommon.IEditorContribution {
private
static
readonly
ID
=
'
editor.contrib.autoFormat
'
;
private
readonly
_editor
:
ICodeEditor
;
private
_callOnDispose
:
IDisposable
[]
=
[]
;
private
_callOnModel
:
IDisposable
[]
=
[]
;
private
readonly
_callOnDispose
=
new
DisposableStore
()
;
private
readonly
_callOnModel
=
new
DisposableStore
()
;
constructor
(
editor
:
ICodeEditor
,
@
IEditorWorkerService
private
readonly
_workerService
:
IEditorWorkerService
)
{
this
.
_editor
=
editor
;
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeConfiguration
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeModel
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeModelLanguage
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
OnTypeFormattingEditProviderRegistry
.
onDidChange
(
this
.
_update
,
this
));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeConfiguration
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeModel
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeModelLanguage
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
OnTypeFormattingEditProviderRegistry
.
onDidChange
(
this
.
_update
,
this
));
}
getId
():
string
{
...
...
@@ -49,14 +49,14 @@ class FormatOnType implements editorCommon.IEditorContribution {
}
dispose
():
void
{
this
.
_callOnDispose
=
dispose
(
this
.
_callOnDispose
);
this
.
_callOnModel
=
dispose
(
this
.
_callOnModel
);
this
.
_callOnDispose
.
dispose
(
);
this
.
_callOnModel
.
dispose
(
);
}
private
_update
():
void
{
// clean up
this
.
_callOnModel
=
dispose
(
this
.
_callOnModel
);
this
.
_callOnModel
.
clear
(
);
// we are disabled
if
(
!
this
.
_editor
.
getConfiguration
().
contribInfo
.
formatOnType
)
{
...
...
@@ -81,7 +81,7 @@ class FormatOnType implements editorCommon.IEditorContribution {
for
(
let
ch
of
support
.
autoFormatTriggerCharacters
)
{
triggerChars
.
add
(
ch
.
charCodeAt
(
0
));
}
this
.
_callOnModel
.
push
(
this
.
_editor
.
onDidType
((
text
:
string
)
=>
{
this
.
_callOnModel
.
add
(
this
.
_editor
.
onDidType
((
text
:
string
)
=>
{
let
lastCharCode
=
text
.
charCodeAt
(
text
.
length
-
1
);
if
(
triggerChars
.
has
(
lastCharCode
))
{
this
.
_trigger
(
String
.
fromCharCode
(
lastCharCode
));
...
...
@@ -156,20 +156,17 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
private
static
readonly
ID
=
'
editor.contrib.formatOnPaste
'
;
private
_callOnDispose
:
IDisposable
[]
;
private
_callOnModel
:
IDisposable
[]
;
private
readonly
_callOnDispose
=
new
DisposableStore
()
;
private
readonly
_callOnModel
=
new
DisposableStore
()
;
constructor
(
private
readonly
editor
:
ICodeEditor
,
@
IInstantiationService
private
readonly
_instantiationService
:
IInstantiationService
,
)
{
this
.
_callOnDispose
=
[];
this
.
_callOnModel
=
[];
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeConfiguration
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeModel
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
editor
.
onDidChangeModelLanguage
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
push
(
DocumentRangeFormattingEditProviderRegistry
.
onDidChange
(
this
.
_update
,
this
));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeConfiguration
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeModel
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
editor
.
onDidChangeModelLanguage
(()
=>
this
.
_update
()));
this
.
_callOnDispose
.
add
(
DocumentRangeFormattingEditProviderRegistry
.
onDidChange
(
this
.
_update
,
this
));
}
getId
():
string
{
...
...
@@ -177,14 +174,14 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
}
dispose
():
void
{
this
.
_callOnDispose
=
dispose
(
this
.
_callOnDispose
);
this
.
_callOnModel
=
dispose
(
this
.
_callOnModel
);
this
.
_callOnDispose
.
dispose
(
);
this
.
_callOnModel
.
dispose
(
);
}
private
_update
():
void
{
// clean up
this
.
_callOnModel
=
dispose
(
this
.
_callOnModel
);
this
.
_callOnModel
.
dispose
(
);
// we are disabled
if
(
!
this
.
editor
.
getConfiguration
().
contribInfo
.
formatOnPaste
)
{
...
...
@@ -201,7 +198,7 @@ class FormatOnPaste implements editorCommon.IEditorContribution {
return
;
}
this
.
_callOnModel
.
push
(
this
.
editor
.
onDidPaste
(
range
=>
this
.
_trigger
(
range
)));
this
.
_callOnModel
.
add
(
this
.
editor
.
onDidPaste
(
range
=>
this
.
_trigger
(
range
)));
}
private
_trigger
(
range
:
Range
):
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录