Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
56389225
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,发现更多精彩内容 >>
提交
56389225
编写于
2月 16, 2017
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove duplicate TS registrations
上级
4e24d6ea
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
38 deletion
+31
-38
extensions/typescript/src/features/codeActionProvider.ts
extensions/typescript/src/features/codeActionProvider.ts
+2
-4
extensions/typescript/src/typescriptMain.ts
extensions/typescript/src/typescriptMain.ts
+28
-34
extensions/typescript/src/typescriptServiceClient.ts
extensions/typescript/src/typescriptServiceClient.ts
+1
-0
未找到文件。
extensions/typescript/src/features/codeActionProvider.ts
浏览文件 @
56389225
...
...
@@ -22,15 +22,13 @@ interface Source {
}
export
default
class
TypeScriptCodeActionProvider
implements
CodeActionProvider
{
private
commandId
:
string
;
private
commandId
:
string
=
'
_typescript.applyCodeAction
'
;
private
supportedCodeActions
:
Promise
<
NumberSet
>
;
constructor
(
private
client
:
ITypescriptServiceClient
,
modeId
:
string
private
readonly
client
:
ITypescriptServiceClient
)
{
this
.
commandId
=
`typescript.codeActions.
${
modeId
}
`
;
this
.
supportedCodeActions
=
client
.
execute
(
'
getSupportedCodeFixes
'
,
null
,
undefined
)
.
then
(
response
=>
response
.
body
||
[])
.
then
(
codes
=>
codes
.
map
(
code
=>
+
code
).
filter
(
code
=>
!
isNaN
(
code
)))
...
...
extensions/typescript/src/typescriptMain.ts
浏览文件 @
56389225
...
...
@@ -9,7 +9,7 @@
* ------------------------------------------------------------------------------------------ */
'
use strict
'
;
import
{
env
,
languages
,
commands
,
workspace
,
window
,
ExtensionContext
,
Memento
,
IndentAction
,
Diagnostic
,
DiagnosticCollection
,
Range
,
D
ocumentFilter
,
D
isposable
,
Uri
,
MessageItem
,
TextEditor
}
from
'
vscode
'
;
import
{
env
,
languages
,
commands
,
workspace
,
window
,
ExtensionContext
,
Memento
,
IndentAction
,
Diagnostic
,
DiagnosticCollection
,
Range
,
Disposable
,
Uri
,
MessageItem
,
TextEditor
}
from
'
vscode
'
;
// This must be the first statement otherwise modules might got loaded with
// the wrong locale.
...
...
@@ -183,54 +183,48 @@ class LanguageProvider {
}
private
registerProviders
(
client
:
TypeScriptServiceClient
):
void
{
const
selector
=
this
.
description
.
modeIds
;
const
config
=
workspace
.
getConfiguration
(
this
.
id
);
this
.
completionItemProvider
=
new
CompletionItemProvider
(
client
,
this
.
typingsStatus
);
this
.
completionItemProvider
.
updateConfiguration
();
languages
.
registerCompletionItemProvider
(
selector
,
this
.
completionItemProvider
,
'
.
'
);
let
hoverProvider
=
new
HoverProvider
(
client
);
let
definitionProvider
=
new
DefinitionProvider
(
client
);
let
implementationProvider
=
new
ImplementationProvider
(
client
);
const
typeDefinitionProvider
=
new
TypeDefintionProvider
(
client
);
let
documentHighlightProvider
=
new
DocumentHighlightProvider
(
client
);
let
referenceProvider
=
new
ReferenceProvider
(
client
);
let
documentSymbolProvider
=
new
DocumentSymbolProvider
(
client
);
let
signatureHelpProvider
=
new
SignatureHelpProvider
(
client
);
let
renameProvider
=
new
RenameProvider
(
client
);
this
.
formattingProvider
=
new
FormattingProvider
(
client
);
this
.
formattingProvider
.
updateConfiguration
(
config
);
languages
.
registerOnTypeFormattingEditProvider
(
selector
,
this
.
formattingProvider
,
'
;
'
,
'
}
'
,
'
\n
'
);
if
(
this
.
formattingProvider
.
isEnabled
())
{
this
.
formattingProviderRegistration
=
languages
.
registerDocumentRangeFormattingEditProvider
(
this
.
description
.
modeIds
,
this
.
formattingProvider
);
this
.
formattingProviderRegistration
=
languages
.
registerDocumentRangeFormattingEditProvider
(
selector
,
this
.
formattingProvider
);
}
this
.
referenceCodeLensProvider
=
new
ReferenceCodeLensProvider
(
client
);
this
.
referenceCodeLensProvider
.
updateConfiguration
();
languages
.
registerHoverProvider
(
selector
,
new
HoverProvider
(
client
));
languages
.
registerDefinitionProvider
(
selector
,
new
DefinitionProvider
(
client
));
languages
.
registerDocumentHighlightProvider
(
selector
,
new
DocumentHighlightProvider
(
client
));
languages
.
registerReferenceProvider
(
selector
,
new
ReferenceProvider
(
client
));
languages
.
registerDocumentSymbolProvider
(
selector
,
new
DocumentSymbolProvider
(
client
));
languages
.
registerSignatureHelpProvider
(
selector
,
new
SignatureHelpProvider
(
client
),
'
(
'
,
'
,
'
);
languages
.
registerRenameProvider
(
selector
,
new
RenameProvider
(
client
));
if
(
client
.
apiVersion
.
has206Features
())
{
languages
.
registerCodeLensProvider
(
this
.
description
.
modeIds
,
this
.
referenceCodeLensProvider
);
this
.
referenceCodeLensProvider
=
new
ReferenceCodeLensProvider
(
client
);
this
.
referenceCodeLensProvider
.
updateConfiguration
();
languages
.
registerCodeLensProvider
(
selector
,
this
.
referenceCodeLensProvider
);
}
if
(
client
.
apiVersion
.
has213Features
())
{
languages
.
registerCodeActionsProvider
(
selector
,
new
CodeActionProvider
(
client
));
}
if
(
client
.
apiVersion
.
has220Features
())
{
languages
.
registerImplementationProvider
(
selector
,
new
ImplementationProvider
(
client
));
}
if
(
client
.
apiVersion
.
has213Features
())
{
languages
.
registerTypeDefinitionProvider
(
selector
,
new
TypeDefintionProvider
(
client
));
}
this
.
description
.
modeIds
.
forEach
(
modeId
=>
{
const
selector
:
DocumentFilter
=
modeId
;
languages
.
registerCompletionItemProvider
(
selector
,
this
.
completionItemProvider
,
'
.
'
);
languages
.
registerHoverProvider
(
selector
,
hoverProvider
);
languages
.
registerDefinitionProvider
(
selector
,
definitionProvider
);
if
(
client
.
apiVersion
.
has220Features
())
{
// TODO: TS 2.1.5 returns incorrect results for implementation locations.
languages
.
registerImplementationProvider
(
selector
,
implementationProvider
);
}
if
(
client
.
apiVersion
.
has213Features
())
{
languages
.
registerTypeDefinitionProvider
(
selector
,
typeDefinitionProvider
);
}
languages
.
registerDocumentHighlightProvider
(
selector
,
documentHighlightProvider
);
languages
.
registerReferenceProvider
(
selector
,
referenceProvider
);
languages
.
registerDocumentSymbolProvider
(
selector
,
documentSymbolProvider
);
languages
.
registerSignatureHelpProvider
(
selector
,
signatureHelpProvider
,
'
(
'
,
'
,
'
);
languages
.
registerRenameProvider
(
selector
,
renameProvider
);
languages
.
registerOnTypeFormattingEditProvider
(
selector
,
this
.
formattingProvider
,
'
;
'
,
'
}
'
,
'
\n
'
);
languages
.
registerWorkspaceSymbolProvider
(
new
WorkspaceSymbolProvider
(
client
,
modeId
));
if
(
client
.
apiVersion
.
has213Features
())
{
languages
.
registerCodeActionsProvider
(
selector
,
new
CodeActionProvider
(
client
,
modeId
));
}
languages
.
setLanguageConfiguration
(
modeId
,
{
indentationRules
:
{
...
...
extensions/typescript/src/typescriptServiceClient.ts
浏览文件 @
56389225
...
...
@@ -124,6 +124,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
private
_apiVersion
:
API
;
private
telemetryReporter
:
TelemetryReporter
;
constructor
(
host
:
ITypescriptServiceClientHost
,
storagePath
:
string
|
undefined
,
globalState
:
Memento
,
private
workspaceState
:
Memento
)
{
this
.
host
=
host
;
this
.
storagePath
=
storagePath
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录