Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
4dad67b8
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4dad67b8
编写于
12月 01, 2015
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
command: executeCodeLensProvider
上级
fb9cfb1a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
7 deletion
+35
-7
src/vs/editor/contrib/codelens/common/codelens.ts
src/vs/editor/contrib/codelens/common/codelens.ts
+20
-3
src/vs/workbench/api/common/extHostLanguageFeatureCommands.ts
...vs/workbench/api/common/extHostLanguageFeatureCommands.ts
+15
-4
未找到文件。
src/vs/editor/contrib/codelens/common/codelens.ts
浏览文件 @
4dad67b8
...
...
@@ -5,13 +5,15 @@
'
use strict
'
;
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
onUnexpectedError
,
illegalArgument
}
from
'
vs/base/common/errors
'
;
import
URI
from
'
vs/base/common/uri
'
;
import
{
IAction
,
Action
}
from
'
vs/base/common/actions
'
;
import
{
IModelService
}
from
'
vs/editor/common/services/modelService
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IModel
,
IRange
,
IPosition
}
from
'
vs/editor/common/editorCommon
'
;
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
import
{
ICodeLensSupport
,
ICodeLensSymbol
,
ICommand
}
from
'
vs/editor/common/modes
'
;
import
{
CommonEditorRegistry
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
LanguageFeatureRegistry
from
'
vs/editor/common/modes/languageFeatureRegistry
'
;
export
const
CodeLensRegistry
=
new
LanguageFeatureRegistry
<
ICodeLensSupport
>
(
'
codeLensSupport
'
);
...
...
@@ -21,7 +23,7 @@ export interface ICodeLensData {
support
:
ICodeLensSupport
;
}
export
function
getCodeLensData
(
model
:
IModel
)
{
export
function
getCodeLensData
(
model
:
IModel
)
:
TPromise
<
ICodeLensData
[]
>
{
const
symbols
:
ICodeLensData
[]
=
[];
const
promises
=
CodeLensRegistry
.
all
(
model
).
map
(
support
=>
{
...
...
@@ -38,4 +40,19 @@ export function getCodeLensData(model: IModel) {
});
return
TPromise
.
join
(
promises
).
then
(()
=>
symbols
);
}
\ No newline at end of file
}
CommonEditorRegistry
.
registerLanguageCommand
(
'
_executeCodeLensProvider
'
,
function
(
accessor
,
args
)
{
const
{
resource
}
=
args
;
if
(
!
URI
.
isURI
(
resource
))
{
throw
illegalArgument
();
}
const
model
=
accessor
.
get
(
IModelService
).
getModel
(
resource
);
if
(
!
model
)
{
throw
illegalArgument
();
}
return
getCodeLensData
(
model
);
});
\ No newline at end of file
src/vs/workbench/api/common/extHostLanguageFeatureCommands.ts
浏览文件 @
4dad67b8
...
...
@@ -34,9 +34,8 @@ import LanguageFeatureRegistry from 'vs/editor/common/modes/languageFeatureRegis
import
{
NavigateTypesSupportRegistry
,
INavigateTypesSupport
,
ITypeBearing
}
from
'
vs/workbench/parts/search/common/search
'
import
{
RenameRegistry
}
from
'
vs/editor/contrib/rename/common/rename
'
;
import
{
FormatRegistry
,
FormatOnTypeRegistry
}
from
'
vs/editor/contrib/format/common/format
'
;
import
{
CodeLensRegistry
}
from
'
vs/editor/contrib/codelens/common/codelens
'
;
import
{
ParameterHintsRegistry
}
from
'
vs/editor/contrib/parameterHints/common/parameterHints
'
;
import
{
SuggestRegistry
}
from
'
vs/editor/contrib/suggest/common/suggest
'
;
import
{
ICodeLensData
}
from
'
vs/editor/contrib/codelens/common/codelens
'
;
// vscode.executeWorkspaceSymbolProvider
// vscode.executeDefinitionProvider
...
...
@@ -48,8 +47,8 @@ import {SuggestRegistry} from 'vs/editor/contrib/suggest/common/suggest';
// vscode.executeDocumentSymbolProvider
// vscode.executeCompletionItemProvider
// vscode.executeCodeActionProvider
// vscode.executeCodeLensProvider
// vscode.executeFormatDocumentProvider
// vscode.executeFormatRangeProvider
// vscode.executeFormatOnTypeProvider
...
...
@@ -72,6 +71,7 @@ export class ExtHostLanguageFeatureCommands {
this
.
_register
(
'
vscode.executeDocumentSymbolProvider
'
,
this
.
_executeDocumentSymbolProvider
);
this
.
_register
(
'
vscode.executeCompletionItemProvider
'
,
this
.
_executeCompletionItemProvider
);
this
.
_register
(
'
vscode.executeCodeActionProvider
'
,
this
.
_executeCodeActionProvider
);
this
.
_register
(
'
vscode.executeCodeLensProvider
'
,
this
.
_executeCodeLensProvider
);
}
private
_register
(
id
:
string
,
callback
:
(...
args
:
any
[])
=>
any
):
void
{
...
...
@@ -215,4 +215,15 @@ export class ExtHostLanguageFeatureCommands {
}
});
}
private
_executeCodeLensProvider
(
resource
:
URI
):
Thenable
<
vscode
.
CodeLens
[]
>
{
const
args
=
{
resource
};
return
this
.
_commands
.
_executeContributedCommand
<
ICodeLensData
[]
>
(
'
_executeCodeLensProvider
'
,
args
).
then
(
value
=>
{
if
(
Array
.
isArray
(
value
))
{
return
value
.
map
(
item
=>
new
types
.
CodeLens
(
typeConverters
.
toRange
(
item
.
symbol
.
range
)));
}
});
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录