Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
819a1af8
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,发现更多精彩内容 >>
提交
819a1af8
编写于
5月 07, 2018
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support running organize imports for background files
Fixes #49405
上级
558635ad
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
23 deletion
+12
-23
extensions/typescript-language-features/src/features/organizeImports.ts
...escript-language-features/src/features/organizeImports.ts
+8
-14
src/vs/editor/contrib/codeAction/codeActionCommands.ts
src/vs/editor/contrib/codeAction/codeActionCommands.ts
+1
-1
src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts
...rkbench/api/electron-browser/mainThreadSaveParticipant.ts
+3
-8
未找到文件。
extensions/typescript-language-features/src/features/organizeImports.ts
浏览文件 @
819a1af8
...
...
@@ -8,7 +8,6 @@ import * as nls from 'vscode-nls';
import
*
as
Proto
from
'
../protocol
'
;
import
{
ITypeScriptServiceClient
}
from
'
../typescriptService
'
;
import
{
Command
,
CommandManager
}
from
'
../utils/commandManager
'
;
import
{
isSupportedLanguageMode
}
from
'
../utils/languageModeIds
'
;
import
*
as
typeconverts
from
'
../utils/typeConverters
'
;
const
localize
=
nls
.
loadMessageBundle
();
...
...
@@ -23,21 +22,11 @@ class OrganizeImportsCommand implements Command {
private
readonly
client
:
ITypeScriptServiceClient
)
{
}
public
async
execute
():
Promise
<
boolean
>
{
public
async
execute
(
file
:
string
):
Promise
<
boolean
>
{
if
(
!
this
.
client
.
apiVersion
.
has280Features
())
{
return
false
;
}
const
editor
=
vscode
.
window
.
activeTextEditor
;
if
(
!
editor
||
!
isSupportedLanguageMode
(
editor
.
document
))
{
return
false
;
}
const
file
=
this
.
client
.
normalizePath
(
editor
.
document
.
uri
);
if
(
!
file
)
{
return
false
;
}
const
args
:
Proto
.
OrganizeImportsRequestArgs
=
{
scope
:
{
type
:
'
file
'
,
...
...
@@ -69,7 +58,7 @@ export class OrganizeImportsCodeActionProvider implements vscode.CodeActionProvi
};
public
provideCodeActions
(
_
document
:
vscode
.
TextDocument
,
document
:
vscode
.
TextDocument
,
_range
:
vscode
.
Range
,
_context
:
vscode
.
CodeActionContext
,
_token
:
vscode
.
CancellationToken
...
...
@@ -78,10 +67,15 @@ export class OrganizeImportsCodeActionProvider implements vscode.CodeActionProvi
return
[];
}
const
file
=
this
.
client
.
normalizePath
(
document
.
uri
);
if
(
!
file
)
{
return
[];
}
const
action
=
new
vscode
.
CodeAction
(
localize
(
'
oraganizeImportsAction.title
'
,
"
Organize Imports
"
),
vscode
.
CodeActionKind
.
SourceOrganizeImports
);
action
.
command
=
{
title
:
''
,
command
:
OrganizeImportsCommand
.
Id
};
action
.
command
=
{
title
:
''
,
command
:
OrganizeImportsCommand
.
Id
,
arguments
:
[
file
]
};
return
[
action
];
}
}
\ No newline at end of file
src/vs/editor/contrib/codeAction/codeActionCommands.ts
浏览文件 @
819a1af8
...
...
@@ -135,7 +135,7 @@ export async function applyCodeAction(
action
:
CodeAction
,
bulkEditService
:
IBulkEditService
,
commandService
:
ICommandService
,
editor
:
ICodeEditor
,
editor
?
:
ICodeEditor
,
)
{
if
(
action
.
edit
)
{
await
bulkEditService
.
apply
(
action
.
edit
,
{
editor
});
...
...
src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts
浏览文件 @
819a1af8
...
...
@@ -271,7 +271,6 @@ class CodeActionOnParticipant implements ISaveParticipant {
constructor
(
@
IBulkEditService
private
readonly
_bulkEditService
:
IBulkEditService
,
@
ICommandService
private
readonly
_commandService
:
ICommandService
,
@
ICodeEditorService
private
readonly
_codeEditorService
:
ICodeEditorService
,
@
IConfigurationService
private
readonly
_configurationService
:
IConfigurationService
)
{
}
...
...
@@ -281,10 +280,6 @@ class CodeActionOnParticipant implements ISaveParticipant {
}
const
model
=
editorModel
.
textEditorModel
;
const
editor
=
findEditor
(
model
,
this
.
_codeEditorService
);
if
(
!
editor
)
{
return
undefined
;
}
const
settingsOverrides
=
{
overrideIdentifier
:
model
.
getLanguageIdentifier
().
language
,
resource
:
editorModel
.
getResource
()
};
const
setting
=
this
.
_configurationService
.
getValue
<
ICodeActionsOnSaveOptions
>
(
'
editor.codeActionsOnSave
'
,
settingsOverrides
);
...
...
@@ -302,12 +297,12 @@ class CodeActionOnParticipant implements ISaveParticipant {
return
new
Promise
<
CodeAction
[]
>
((
resolve
,
reject
)
=>
{
setTimeout
(()
=>
reject
(
localize
(
'
codeActionsOnSave.didTimeout
'
,
"
Aborted codeActionsOnSave after {0}ms
"
,
timeout
)),
timeout
);
this
.
getActionsToRun
(
model
,
codeActionsOnSave
).
then
(
resolve
);
}).
then
(
actionsToRun
=>
this
.
applyCodeActions
(
actionsToRun
,
editor
));
}).
then
(
actionsToRun
=>
this
.
applyCodeActions
(
actionsToRun
));
}
private
async
applyCodeActions
(
actionsToRun
:
CodeAction
[]
,
editor
:
ICodeEditor
)
{
private
async
applyCodeActions
(
actionsToRun
:
CodeAction
[])
{
for
(
const
action
of
actionsToRun
)
{
await
applyCodeAction
(
action
,
this
.
_bulkEditService
,
this
.
_commandService
,
editor
);
await
applyCodeAction
(
action
,
this
.
_bulkEditService
,
this
.
_commandService
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录