Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
2568bcae
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,发现更多精彩内容 >>
提交
2568bcae
编写于
4月 13, 2018
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Clean up naming
上级
c535c2d3
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
9 addition
and
12 deletion
+9
-12
src/vs/editor/contrib/codeAction/codeAction.ts
src/vs/editor/contrib/codeAction/codeAction.ts
+9
-12
未找到文件。
src/vs/editor/contrib/codeAction/codeAction.ts
浏览文件 @
2568bcae
...
@@ -16,21 +16,20 @@ import { IModelService } from 'vs/editor/common/services/modelService';
...
@@ -16,21 +16,20 @@ import { IModelService } from 'vs/editor/common/services/modelService';
import
{
CodeActionFilter
,
CodeActionKind
}
from
'
./codeActionTrigger
'
;
import
{
CodeActionFilter
,
CodeActionKind
}
from
'
./codeActionTrigger
'
;
export
function
getCodeActions
(
model
:
ITextModel
,
range
:
Range
,
filter
?:
CodeActionFilter
):
TPromise
<
CodeAction
[]
>
{
export
function
getCodeActions
(
model
:
ITextModel
,
range
:
Range
,
filter
?:
CodeActionFilter
):
TPromise
<
CodeAction
[]
>
{
const
allCodeActions
:
CodeAction
[]
=
[];
const
allResults
:
CodeAction
[]
=
[];
const
promises
=
CodeActionProviderRegistry
.
all
(
model
).
map
(
support
=>
{
const
promises
=
CodeActionProviderRegistry
.
all
(
model
).
map
(
support
=>
{
return
asWinJsPromise
(
token
=>
support
.
provideCodeActions
(
model
,
range
,
{
only
:
filter
&&
filter
.
kind
?
filter
.
kind
.
value
:
undefined
},
token
)).
then
(
result
=>
{
return
asWinJsPromise
(
token
=>
support
.
provideCodeActions
(
model
,
range
,
{
only
:
filter
&&
filter
.
kind
?
filter
.
kind
.
value
:
undefined
},
token
)).
then
(
providedCodeActions
=>
{
if
(
Array
.
isArray
(
result
))
{
if
(
Array
.
isArray
(
providedCodeActions
))
{
for
(
const
quickFix
of
result
)
{
for
(
const
action
of
providedCodeActions
)
{
if
(
!
quickFix
)
{
if
(
!
action
)
{
continue
;
continue
;
}
}
if
(
!
filter
||
!
filter
.
kind
||
(
quickFix
.
kind
&&
filter
.
kind
.
contains
(
quickFix
.
kind
)))
{
if
(
!
filter
||
!
filter
.
kind
||
(
action
.
kind
&&
filter
.
kind
.
contains
(
action
.
kind
)))
{
if
(
quickFix
.
kind
&&
CodeActionKind
.
Source
.
contains
(
quickFix
.
kind
)
&&
(
!
filter
||
!
filter
.
includeSourceActions
))
{
if
(
action
.
kind
&&
CodeActionKind
.
Source
.
contains
(
action
.
kind
)
&&
(
!
filter
||
!
filter
.
includeSourceActions
))
{
continue
;
continue
;
}
}
all
Results
.
push
(
quickFix
);
all
CodeActions
.
push
(
action
);
}
}
}
}
}
}
...
@@ -40,12 +39,11 @@ export function getCodeActions(model: ITextModel, range: Range, filter?: CodeAct
...
@@ -40,12 +39,11 @@ export function getCodeActions(model: ITextModel, range: Range, filter?: CodeAct
});
});
return
TPromise
.
join
(
promises
).
then
(
return
TPromise
.
join
(
promises
).
then
(
()
=>
mergeSort
(
all
Result
s
,
codeActionsComparator
)
()
=>
mergeSort
(
all
CodeAction
s
,
codeActionsComparator
)
);
);
}
}
function
codeActionsComparator
(
a
:
CodeAction
,
b
:
CodeAction
):
number
{
function
codeActionsComparator
(
a
:
CodeAction
,
b
:
CodeAction
):
number
{
const
aHasDiags
=
!
isFalsyOrEmpty
(
a
.
diagnostics
);
const
aHasDiags
=
!
isFalsyOrEmpty
(
a
.
diagnostics
);
const
bHasDiags
=
!
isFalsyOrEmpty
(
b
.
diagnostics
);
const
bHasDiags
=
!
isFalsyOrEmpty
(
b
.
diagnostics
);
if
(
aHasDiags
)
{
if
(
aHasDiags
)
{
...
@@ -62,7 +60,6 @@ function codeActionsComparator(a: CodeAction, b: CodeAction): number {
...
@@ -62,7 +60,6 @@ function codeActionsComparator(a: CodeAction, b: CodeAction): number {
}
}
registerLanguageCommand
(
'
_executeCodeActionProvider
'
,
function
(
accessor
,
args
)
{
registerLanguageCommand
(
'
_executeCodeActionProvider
'
,
function
(
accessor
,
args
)
{
const
{
resource
,
range
}
=
args
;
const
{
resource
,
range
}
=
args
;
if
(
!
(
resource
instanceof
URI
)
||
!
Range
.
isIRange
(
range
))
{
if
(
!
(
resource
instanceof
URI
)
||
!
Range
.
isIRange
(
range
))
{
throw
illegalArgument
();
throw
illegalArgument
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录