Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
30764542
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,发现更多精彩内容 >>
提交
30764542
编写于
6月 01, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
suggest: cleanup
上级
0fe8e6b9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
81 addition
and
40 deletion
+81
-40
src/vs/editor/contrib/suggest/browser/suggest.ts
src/vs/editor/contrib/suggest/browser/suggest.ts
+81
-39
src/vs/editor/contrib/suggest/common/suggest.ts
src/vs/editor/contrib/suggest/common/suggest.ts
+0
-1
未找到文件。
src/vs/editor/contrib/suggest/browser/suggest.ts
浏览文件 @
30764542
...
...
@@ -12,13 +12,13 @@ import {TPromise} from 'vs/base/common/winjs.base';
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IKeybindingContextKey
,
IKeybindingService
,
KbExpr
}
from
'
vs/platform/keybinding/common/keybindingService
'
;
import
{
EditorAction
}
from
'
vs/editor/common/editorAction
'
;
import
{
ICommonCodeEditor
,
IEditorActionDescriptorData
,
IEditorContribution
}
from
'
vs/editor/common/editorCommon
'
;
import
{
ICommonCodeEditor
,
IEditorActionDescriptorData
,
IEditorContribution
,
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
}
from
'
vs/editor/common/editorCommon
'
;
import
{
CommonEditorRegistry
,
ContextKey
,
EditorActionDescriptor
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
ISuggestSupport
,
SuggestRegistry
}
from
'
vs/editor/common/modes
'
;
import
{
ICodeEditor
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
EditorBrowserRegistry
}
from
'
vs/editor/browser/editorBrowserExtensions
'
;
import
{
getSnippetController
}
from
'
vs/editor/contrib/snippet/common/snippet
'
;
import
{
ACCEPT_SELECTED_SUGGESTION_CMD
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
}
from
'
vs/editor/contrib/suggest/common/suggest
'
;
import
{
CONTEXT_SUGGEST_WIDGET_VISIBLE
}
from
'
vs/editor/contrib/suggest/common/suggest
'
;
import
{
KeybindingsRegistry
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
withCodeEditorFromCommandHandler
}
from
'
vs/editor/common/config/config
'
;
import
{
SuggestModel
}
from
'
./suggestModel
'
;
...
...
@@ -27,7 +27,7 @@ import {SuggestWidget} from './suggestWidget';
export
class
SuggestController
implements
IEditorContribution
{
static
ID
:
string
=
'
editor.contrib.suggestController
'
;
static
get
Suggest
Controller
(
editor
:
ICommonCodeEditor
):
SuggestController
{
static
getController
(
editor
:
ICommonCodeEditor
):
SuggestController
{
return
<
SuggestController
>
editor
.
getContribution
(
SuggestController
.
ID
);
}
...
...
@@ -201,56 +201,98 @@ export class TriggerSuggestAction extends EditorAction {
}
run
():
TPromise
<
boolean
>
{
return
SuggestController
.
get
Suggest
Controller
(
this
.
editor
).
triggerSuggest
();
return
SuggestController
.
getController
(
this
.
editor
).
triggerSuggest
();
}
}
CommonEditorRegistry
.
registerEditorAction
(
new
EditorActionDescriptor
(
TriggerSuggestAction
,
TriggerSuggestAction
.
ID
,
nls
.
localize
(
'
suggest.trigger.label
'
,
"
Trigger Suggest
"
),
{
context
:
ContextKey
.
EditorTextFocus
,
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
Space
,
mac
:
{
primary
:
KeyMod
.
WinCtrl
|
KeyCode
.
Space
}
},
'
Trigger Suggest
'
));
const
weight
=
CommonEditorRegistry
.
commandWeight
(
90
);
// register action
CommonEditorRegistry
.
registerEditorAction
(
new
EditorActionDescriptor
(
TriggerSuggestAction
,
TriggerSuggestAction
.
ID
,
nls
.
localize
(
'
suggest.trigger.label
'
,
"
Trigger Suggest
"
),
{
context
:
ContextKey
.
EditorTextFocus
,
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
Space
,
mac
:
{
primary
:
KeyMod
.
WinCtrl
|
KeyCode
.
Space
}
},
'
Trigger Suggest
'
));
CommonEditorRegistry
.
registerEditorCommand
(
ACCEPT_SELECTED_SUGGESTION_CMD
,
weight
,
{
primary
:
KeyCode
.
Tab
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
acceptSelectedSuggestion
();
function
handler
(
id
:
string
,
fn
:
(
controller
:
SuggestController
)
=>
void
)
{
return
accessor
=>
withCodeEditorFromCommandHandler
(
id
,
accessor
,
editor
=>
{
fn
(
SuggestController
.
getController
(
editor
));
});
}
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
acceptSelectedSuggestion
'
,
handler
:
handler
(
'
acceptSelectedSuggestion
'
,
c
=>
c
.
acceptSelectedSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
Tab
});
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
acceptSelectedSuggestionOnEnter
'
,
handler
(
accessor
)
{
withCodeEditorFromCommandHandler
(
'
acceptSelectedSuggestionOnEnter
'
,
accessor
,
(
editor
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
acceptSelectedSuggestion
();
});
},
handler
:
handler
(
'
acceptSelectedSuggestionOnEnter
'
,
c
=>
c
.
acceptSelectedSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
),
KbExpr
.
has
(
'
config.editor.acceptSuggestionOnEnter
'
)),
primary
:
KeyCode
.
Enter
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
),
KbExpr
.
has
(
'
config.editor.acceptSuggestionOnEnter
'
)),
primary
:
KeyCode
.
Enter
});
CommonEditorRegistry
.
registerEditorCommand
(
'
hideSuggestWidget
'
,
weight
,
{
primary
:
KeyCode
.
Escape
,
secondary
:
[
KeyMod
.
Shift
|
KeyCode
.
Escape
]
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
cancelSuggestWidget
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
hideSuggestWidget
'
,
handler
:
handler
(
'
hideSuggestWidget
'
,
c
=>
c
.
cancelSuggestWidget
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
Escape
,
secondary
:
[
KeyMod
.
Shift
|
KeyCode
.
Escape
]
});
CommonEditorRegistry
.
registerEditorCommand
(
'
selectNextSuggestion
'
,
weight
,
{
primary
:
KeyCode
.
DownArrow
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
DownArrow
]
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
selectNextSuggestion
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
selectNextSuggestion
'
,
handler
:
handler
(
'
selectNextSuggestion
'
,
c
=>
c
.
selectNextSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
DownArrow
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
DownArrow
]
});
CommonEditorRegistry
.
registerEditorCommand
(
'
selectNextPageSuggestion
'
,
weight
,
{
primary
:
KeyCode
.
PageDown
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
PageDown
]
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
selectNextPageSuggestion
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
selectNextPageSuggestion
'
,
handler
:
handler
(
'
selectNextPageSuggestion
'
,
c
=>
c
.
selectNextPageSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
PageDown
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
PageDown
]
});
CommonEditorRegistry
.
registerEditorCommand
(
'
selectPrevSuggestion
'
,
weight
,
{
primary
:
KeyCode
.
UpArrow
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
UpArrow
]
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
selectPrevSuggestion
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
selectPrevSuggestion
'
,
handler
:
handler
(
'
selectPrevSuggestion
'
,
c
=>
c
.
selectPrevSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
UpArrow
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
UpArrow
]
});
CommonEditorRegistry
.
registerEditorCommand
(
'
selectPrevPageSuggestion
'
,
weight
,
{
primary
:
KeyCode
.
PageUp
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
PageUp
]
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
selectPrevPageSuggestion
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
selectPrevPageSuggestion
'
,
handler
:
handler
(
'
selectPrevPageSuggestion
'
,
c
=>
c
.
selectPrevPageSuggestion
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyCode
.
PageUp
,
secondary
:
[
KeyMod
.
Alt
|
KeyCode
.
PageUp
]
});
CommonEditorRegistry
.
registerEditorCommand
(
'
toggleSuggestionDetails
'
,
weight
,
{
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
Space
,
mac
:
{
primary
:
KeyMod
.
WinCtrl
|
KeyCode
.
Space
}
},
true
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
(
ctx
,
editor
,
args
)
=>
{
const
controller
=
SuggestController
.
getSuggestController
(
editor
);
controller
.
toggleSuggestionDetails
();
KeybindingsRegistry
.
registerCommandDesc
({
id
:
'
toggleSuggestionDetails
'
,
handler
:
handler
(
'
toggleSuggestionDetails
'
,
c
=>
c
.
toggleSuggestionDetails
()),
weight
,
when
:
KbExpr
.
and
(
KbExpr
.
has
(
KEYBINDING_CONTEXT_EDITOR_TEXT_FOCUS
),
KbExpr
.
has
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
)),
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
Space
,
mac
:
{
primary
:
KeyMod
.
WinCtrl
|
KeyCode
.
Space
}
});
EditorBrowserRegistry
.
registerEditorContribution
(
SuggestController
);
src/vs/editor/contrib/suggest/common/suggest.ts
浏览文件 @
30764542
...
...
@@ -16,7 +16,6 @@ import {Position} from 'vs/editor/common/core/position';
export
var
CONTEXT_SUGGEST_WIDGET_VISIBLE
=
'
suggestWidgetVisible
'
;
export
var
CONTEXT_SUGGESTION_SUPPORTS_ACCEPT_ON_KEY
=
'
suggestionSupportsAcceptOnKey
'
;
export
var
ACCEPT_SELECTED_SUGGESTION_CMD
=
'
acceptSelectedSuggestion
'
;
export
interface
ISuggestResult2
extends
ISuggestResult
{
support
?:
ISuggestSupport
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录