Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
2f34618b
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,发现更多精彩内容 >>
提交
2f34618b
编写于
9月 20, 2017
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adding completion item kind enum
上级
b34379e8
变更
11
显示空白变更内容
内联
并排
Showing
11 changed file
with
78 addition
and
13 deletion
+78
-13
src/vs/editor/common/modes.ts
src/vs/editor/common/modes.ts
+9
-1
src/vs/editor/contrib/suggest/browser/suggest.ts
src/vs/editor/contrib/suggest/browser/suggest.ts
+2
-2
src/vs/editor/contrib/suggest/browser/suggestModel.ts
src/vs/editor/contrib/suggest/browser/suggestModel.ts
+2
-2
src/vs/editor/contrib/suggest/test/browser/suggestModel.test.ts
.../editor/contrib/suggest/test/browser/suggestModel.test.ts
+3
-3
src/vs/editor/standalone/browser/standaloneLanguages.ts
src/vs/editor/standalone/browser/standaloneLanguages.ts
+4
-2
src/vs/monaco.d.ts
src/vs/monaco.d.ts
+9
-1
src/vs/vscode.d.ts
src/vs/vscode.d.ts
+15
-1
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+1
-0
src/vs/workbench/api/node/extHostLanguageFeatures.ts
src/vs/workbench/api/node/extHostLanguageFeatures.ts
+1
-1
src/vs/workbench/api/node/extHostTypeConverters.ts
src/vs/workbench/api/node/extHostTypeConverters.ts
+22
-0
src/vs/workbench/api/node/extHostTypes.ts
src/vs/workbench/api/node/extHostTypes.ts
+10
-0
未找到文件。
src/vs/editor/common/modes.ts
浏览文件 @
2f34618b
...
...
@@ -247,11 +247,19 @@ export interface ISuggestResult {
dispose
?():
void
;
}
/**
* How a suggest provider was triggered.
*/
export
enum
SuggestTriggerKind
{
Invoke
=
0
,
TriggerCharacter
=
1
}
/**
* @internal
*/
export
interface
SuggestContext
{
trigger
:
'
auto
'
|
'
manual
'
;
trigger
Kind
:
SuggestTriggerKind
;
triggerCharacter
?:
string
;
}
...
...
src/vs/editor/contrib/suggest/browser/suggest.ts
浏览文件 @
2f34618b
...
...
@@ -12,7 +12,7 @@ import { onUnexpectedExternalError } from 'vs/base/common/errors';
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IModel
,
IEditorContribution
,
ICommonCodeEditor
}
from
'
vs/editor/common/editorCommon
'
;
import
{
CommonEditorRegistry
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
ISuggestResult
,
ISuggestSupport
,
ISuggestion
,
SuggestRegistry
,
SuggestContext
}
from
'
vs/editor/common/modes
'
;
import
{
ISuggestResult
,
ISuggestSupport
,
ISuggestion
,
SuggestRegistry
,
SuggestContext
,
SuggestTriggerKind
}
from
'
vs/editor/common/modes
'
;
import
{
Position
,
IPosition
}
from
'
vs/editor/common/core/position
'
;
import
{
RawContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
...
...
@@ -57,7 +57,7 @@ export function provideSuggestionItems(model: IModel, position: Position, snippe
supports
.
unshift
([
_snippetSuggestSupport
]);
}
const
suggestConext
=
context
||
{
trigger
:
'
auto
'
};
const
suggestConext
=
context
||
{
trigger
Kind
:
SuggestTriggerKind
.
Invoke
};
// add suggestions from contributed providers - providers are ordered in groups of
// equal score and once a group produces a result the process stops
...
...
src/vs/editor/contrib/suggest/browser/suggestModel.ts
浏览文件 @
2f34618b
...
...
@@ -11,7 +11,7 @@ import Event, { Emitter } from 'vs/base/common/event';
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
ICommonCodeEditor
,
IModel
,
IWordAtPosition
}
from
'
vs/editor/common/editorCommon
'
;
import
{
ISuggestSupport
,
SuggestRegistry
,
StandardTokenType
}
from
'
vs/editor/common/modes
'
;
import
{
ISuggestSupport
,
SuggestRegistry
,
StandardTokenType
,
SuggestTriggerKind
}
from
'
vs/editor/common/modes
'
;
import
{
Position
}
from
'
vs/editor/common/core/position
'
;
import
{
provideSuggestionItems
,
getSuggestionComparator
,
ISuggestionItem
}
from
'
./suggest
'
;
import
{
CompletionModel
}
from
'
./completionModel
'
;
...
...
@@ -358,7 +358,7 @@ export class SuggestModel implements IDisposable {
onlyFrom
,
{
triggerCharacter
:
context
.
triggerCharacter
,
trigger
:
context
.
auto
?
'
auto
'
:
'
manual
'
trigger
Kind
:
context
.
triggerCharacter
?
SuggestTriggerKind
.
TriggerCharacter
:
SuggestTriggerKind
.
Invoke
}
).
then
(
items
=>
{
...
...
src/vs/editor/contrib/suggest/test/browser/suggestModel.test.ts
浏览文件 @
2f34618b
...
...
@@ -11,7 +11,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
Model
}
from
'
vs/editor/common/model/model
'
;
import
{
ICommonCodeEditor
,
Handler
}
from
'
vs/editor/common/editorCommon
'
;
import
{
ISuggestSupport
,
ISuggestResult
,
SuggestRegistry
}
from
'
vs/editor/common/modes
'
;
import
{
ISuggestSupport
,
ISuggestResult
,
SuggestRegistry
,
SuggestTriggerKind
}
from
'
vs/editor/common/modes
'
;
import
{
SuggestModel
,
LineContext
}
from
'
vs/editor/contrib/suggest/browser/suggestModel
'
;
import
{
MockCodeEditor
,
MockScopeLocation
}
from
'
vs/editor/test/common/mocks/mockCodeEditor
'
;
import
{
ServiceCollection
}
from
'
vs/platform/instantiation/common/serviceCollection
'
;
...
...
@@ -458,12 +458,12 @@ suite('SuggestModel - TriggerAndCancelOracle', function () {
});
});
test
(
'
Trigger character
s
is provided in suggest context
'
,
function
()
{
test
(
'
Trigger character is provided in suggest context
'
,
function
()
{
let
triggerCharacter
=
''
;
disposables
.
push
(
SuggestRegistry
.
register
({
scheme
:
'
test
'
},
{
triggerCharacters
:
[
'
.
'
],
provideCompletionItems
(
doc
,
pos
,
context
)
{
assert
.
equal
(
context
.
trigger
,
'
auto
'
);
assert
.
equal
(
context
.
trigger
Kind
,
SuggestTriggerKind
.
TriggerCharacter
);
triggerCharacter
=
context
.
triggerCharacter
;
return
<
ISuggestResult
>
{
currentWord
:
''
,
...
...
src/vs/editor/standalone/browser/standaloneLanguages.ts
浏览文件 @
2f34618b
...
...
@@ -546,7 +546,7 @@ export interface CompletionContext {
/**
* How the completion was triggered.
*/
readonly
trigger
:
'
auto
'
|
'
manual
'
;
triggerKind
:
modes
.
SuggestTriggerKind
;
/**
* Character that triggered the completion item provider.
...
...
@@ -610,6 +610,7 @@ function convertKind(kind: CompletionItemKind): modes.SuggestionType {
}
return
'
property
'
;
}
class
SuggestAdapter
{
private
_provider
:
CompletionItemProvider
;
...
...
@@ -758,6 +759,7 @@ export function createMonacoLanguagesAPI(): typeof monaco.languages {
DocumentHighlightKind
:
modes
.
DocumentHighlightKind
,
CompletionItemKind
:
CompletionItemKind
,
SymbolKind
:
modes
.
SymbolKind
,
IndentAction
:
IndentAction
IndentAction
:
IndentAction
,
SuggestTriggerKind
:
modes
.
SuggestTriggerKind
};
}
src/vs/monaco.d.ts
浏览文件 @
2f34618b
...
...
@@ -4237,7 +4237,7 @@ declare module monaco.languages {
/**
* How the completion was triggered.
*/
readonly
trigger
:
'
auto
'
|
'
manual
'
;
triggerKind
:
SuggestTriggerKind
;
/**
* Character that triggered the completion item provider.
*
...
...
@@ -4513,6 +4513,14 @@ declare module monaco.languages {
provideHover
(
model
:
editor
.
IReadOnlyModel
,
position
:
Position
,
token
:
CancellationToken
):
Hover
|
Thenable
<
Hover
>
;
}
/**
* How a suggest provider was triggered.
*/
export
enum
SuggestTriggerKind
{
Invoke
=
0
,
TriggerCharacter
=
1
,
}
/**
* Represents a parameter of a callable-signature. A parameter can
* have a label and a doc-comment.
...
...
src/vs/vscode.d.ts
浏览文件 @
2f34618b
...
...
@@ -2718,6 +2718,20 @@ declare module 'vscode' {
constructor
(
items
?:
CompletionItem
[],
isIncomplete
?:
boolean
);
}
/**
* How a [completion provider](#CompletionItemProvider) was triggered
*/
export
enum
CompletionTriggerKind
{
/**
* Completion was triggered normally.
*/
Invoke
=
0
,
/**
* Completion was triggered by a trigger character.
*/
TriggerCharacter
=
1
}
/**
* Contains additional information about the context in which
* [completion provider](#CompletionItemProvider.provideCompletionItems) is triggered.
...
...
@@ -2726,7 +2740,7 @@ declare module 'vscode' {
/**
* How the completion was triggered.
*/
readonly
trigger
:
'
auto
'
|
'
manual
'
;
readonly
trigger
Kind
:
CompletionTriggerKind
;
/**
* Character that triggered the completion item provider.
...
...
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
2f34618b
...
...
@@ -563,6 +563,7 @@ export function createApiFactory(
CompletionItem
:
extHostTypes
.
CompletionItem
,
CompletionItemKind
:
extHostTypes
.
CompletionItemKind
,
CompletionList
:
extHostTypes
.
CompletionList
,
CompletionTriggerKind
:
extHostTypes
.
CompletionTriggerKind
,
Diagnostic
:
extHostTypes
.
Diagnostic
,
DiagnosticSeverity
:
extHostTypes
.
DiagnosticSeverity
,
Disposable
:
extHostTypes
.
Disposable
,
...
...
src/vs/workbench/api/node/extHostLanguageFeatures.ts
浏览文件 @
2f34618b
...
...
@@ -492,7 +492,7 @@ class SuggestAdapter {
const
pos
=
TypeConverters
.
toPosition
(
position
);
return
asWinJsPromise
<
vscode
.
CompletionItem
[]
|
vscode
.
CompletionList
>
(
token
=>
{
return
this
.
_provider
.
provideCompletionItems
(
doc
,
pos
,
token
,
context
);
return
this
.
_provider
.
provideCompletionItems
(
doc
,
pos
,
token
,
TypeConverters
.
CompletionContext
.
from
(
context
)
);
}).
then
(
value
=>
{
const
_id
=
this
.
_idPool
++
;
...
...
src/vs/workbench/api/node/extHostTypeConverters.ts
浏览文件 @
2f34618b
...
...
@@ -307,6 +307,28 @@ export function toDocumentHighlight(occurrence: modes.DocumentHighlight): types.
return
new
types
.
DocumentHighlight
(
toRange
(
occurrence
.
range
),
occurrence
.
kind
);
}
export
namespace
CompletionTriggerKind
{
export
function
from
(
kind
:
modes
.
SuggestTriggerKind
)
{
switch
(
kind
)
{
case
modes
.
SuggestTriggerKind
.
TriggerCharacter
:
return
types
.
CompletionTriggerKind
.
TriggerCharacter
;
case
modes
.
SuggestTriggerKind
.
Invoke
:
default
:
return
types
.
CompletionTriggerKind
.
Invoke
;
}
}
}
export
namespace
CompletionContext
{
export
function
from
(
context
:
modes
.
SuggestContext
):
types
.
CompletionContext
{
return
{
triggerKind
:
CompletionTriggerKind
.
from
(
context
.
triggerKind
),
triggerCharacter
:
context
.
triggerCharacter
};
}
}
export
const
CompletionItemKind
=
{
from
(
kind
:
types
.
CompletionItemKind
):
modes
.
SuggestionType
{
...
...
src/vs/workbench/api/node/extHostTypes.ts
浏览文件 @
2f34618b
...
...
@@ -879,6 +879,16 @@ export class SignatureHelp {
}
}
export
enum
CompletionTriggerKind
{
Invoke
=
0
,
TriggerCharacter
=
1
}
export
interface
CompletionContext
{
triggerKind
:
CompletionTriggerKind
;
triggerCharacter
:
string
;
}
export
enum
CompletionItemKind
{
Text
=
0
,
Method
=
1
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录