Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
9f7989d3
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,发现更多精彩内容 >>
提交
9f7989d3
编写于
12月 09, 2015
作者:
J
João Moreno
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1079 from joaomoreno/suggest
Suggest cleanup
上级
b7709ccc
c4631ef4
变更
11
展开全部
隐藏空白更改
内联
并排
Showing
11 changed file
with
815 addition
and
735 deletion
+815
-735
src/vs/base/common/iterator.ts
src/vs/base/common/iterator.ts
+15
-4
src/vs/base/parts/tree/browser/treeImpl.ts
src/vs/base/parts/tree/browser/treeImpl.ts
+9
-0
src/vs/base/parts/tree/common/tree.ts
src/vs/base/parts/tree/common/tree.ts
+12
-0
src/vs/base/parts/tree/common/treeModel.ts
src/vs/base/parts/tree/common/treeModel.ts
+1
-1
src/vs/editor/common/modes.ts
src/vs/editor/common/modes.ts
+2
-2
src/vs/editor/common/modes/modesFilters.ts
src/vs/editor/common/modes/modesFilters.ts
+2
-6
src/vs/editor/common/modes/supports.ts
src/vs/editor/common/modes/supports.ts
+1
-1
src/vs/editor/contrib/suggest/browser/suggest.css
src/vs/editor/contrib/suggest/browser/suggest.css
+19
-41
src/vs/editor/contrib/suggest/browser/suggest.ts
src/vs/editor/contrib/suggest/browser/suggest.ts
+41
-45
src/vs/editor/contrib/suggest/browser/suggestModel.ts
src/vs/editor/contrib/suggest/browser/suggestModel.ts
+144
-270
src/vs/editor/contrib/suggest/browser/suggestWidget.ts
src/vs/editor/contrib/suggest/browser/suggestWidget.ts
+569
-365
未找到文件。
src/vs/base/common/iterator.ts
浏览文件 @
9f7989d3
...
...
@@ -36,13 +36,11 @@ export class ArrayIterator<T> implements IIterator<T> {
export
class
MappedIterator
<
T
,
R
>
implements
IIterator
<
R
>
{
constructor
(
pr
ivate
iterator
:
IIterator
<
T
>
,
private
fn
:
(
item
:
T
)
=>
R
)
{
constructor
(
pr
otected
iterator
:
IIterator
<
T
>
,
protected
fn
:
(
item
:
T
)
=>
R
)
{
// noop
}
public
next
():
R
{
return
this
.
fn
(
this
.
iterator
.
next
());
}
next
()
{
return
this
.
fn
(
this
.
iterator
.
next
());
}
}
export
interface
INavigator
<
T
>
extends
IIterator
<
T
>
{
...
...
@@ -52,3 +50,16 @@ export interface INavigator<T> extends IIterator<T> {
first
():
T
;
last
():
T
;
}
export
class
MappedNavigator
<
T
,
R
>
extends
MappedIterator
<
T
,
R
>
implements
INavigator
<
R
>
{
constructor
(
protected
navigator
:
INavigator
<
T
>
,
fn
:
(
item
:
T
)
=>
R
)
{
super
(
navigator
,
fn
);
}
current
()
{
return
this
.
fn
(
this
.
navigator
.
current
());
}
previous
()
{
return
this
.
fn
(
this
.
navigator
.
previous
());
}
parent
()
{
return
this
.
fn
(
this
.
navigator
.
parent
());
}
first
()
{
return
this
.
fn
(
this
.
navigator
.
first
());
}
last
()
{
return
this
.
fn
(
this
.
navigator
.
last
());
}
}
src/vs/base/parts/tree/browser/treeImpl.ts
浏览文件 @
9f7989d3
...
...
@@ -11,6 +11,7 @@ import Events = require('vs/base/common/eventEmitter');
import
Model
=
require
(
'
vs/base/parts/tree/common/treeModel
'
);
import
View
=
require
(
'
./treeView
'
);
import
_
=
require
(
'
vs/base/parts/tree/common/tree
'
);
import
{
INavigator
,
MappedNavigator
}
from
'
vs/base/common/iterator
'
;
export
class
TreeContext
implements
_
.
ITreeContext
{
...
...
@@ -165,6 +166,10 @@ export class Tree extends Events.EventEmitter implements _.ITree {
this
.
view
.
setScrollPosition
(
pos
);
}
getContentHeight
():
number
{
return
this
.
view
.
getTotalHeight
();
}
public
setHighlight
(
element
?:
any
,
eventPayload
?:
any
):
void
{
this
.
model
.
setHighlight
(
element
,
eventPayload
);
}
...
...
@@ -306,6 +311,10 @@ export class Tree extends Events.EventEmitter implements _.ITree {
return
this
.
view
.
withFakeRow
(
fn
);
}
getNavigator
():
INavigator
<
any
>
{
return
new
MappedNavigator
(
this
.
model
.
getNavigator
(),
i
=>
i
&&
i
.
getElement
());
}
public
dispose
():
void
{
if
(
this
.
model
!==
null
)
{
this
.
model
.
dispose
();
...
...
src/vs/base/parts/tree/common/tree.ts
浏览文件 @
9f7989d3
...
...
@@ -9,6 +9,7 @@ import Touch = require('vs/base/browser/touch');
import
Events
=
require
(
'
vs/base/common/eventEmitter
'
);
import
Mouse
=
require
(
'
vs/base/browser/mouseEvent
'
);
import
Keyboard
=
require
(
'
vs/base/browser/keyboardEvent
'
);
import
{
INavigator
}
from
'
vs/base/common/iterator
'
;
export
interface
ITree
extends
Events
.
IEventEmitter
{
...
...
@@ -132,6 +133,11 @@ export interface ITree extends Events.IEventEmitter {
*/
setScrollPosition
(
pos
:
number
):
void
;
/**
* Returns the total height of the tree's content.
*/
getContentHeight
():
number
;
/**
* Sets the tree's highlight to be the given element.
* Provide no arguments and it clears the tree's highlight.
...
...
@@ -309,6 +315,12 @@ export interface ITree extends Events.IEventEmitter {
*/
withFakeRow
(
fn
:(
container
:
HTMLElement
)
=>
any
):
any
;
/**
* Returns a navigator which allows to discover the visible and
* expanded elements in the tree.
*/
getNavigator
():
INavigator
<
any
>
;
/**
* Disposes the tree
*/
...
...
src/vs/base/parts/tree/common/treeModel.ts
浏览文件 @
9f7989d3
...
...
@@ -458,7 +458,7 @@ export class Item extends Events.EventEmitter {
public
getHierarchy
():
Item
[]
{
var
result
:
Item
[]
=
[];
var
node
=
this
;
var
node
:
Item
=
this
;
do
{
result
.
push
(
node
);
...
...
src/vs/editor/common/modes.ts
浏览文件 @
9f7989d3
...
...
@@ -409,7 +409,7 @@ export interface ISuggestionFilter {
(
word
:
string
,
suggestion
:
ISuggestion
):
IMatch
[];
}
export
interface
ISuggestion
Sorter
{
export
interface
ISuggestion
Compare
{
(
one
:
ISuggestion
,
other
:
ISuggestion
):
number
;
}
...
...
@@ -429,7 +429,7 @@ export interface ISuggestSupport {
getSuggestionDetails
?:(
resource
:
URI
,
position
:
EditorCommon
.
IPosition
,
suggestion
:
ISuggestion
)
=>
TPromise
<
ISuggestion
>
;
getFilter
():
ISuggestionFilter
;
getSorter
?():
ISuggestion
Sorter
;
getSorter
?():
ISuggestion
Compare
;
getTriggerCharacters
():
string
[];
shouldShowEmptySuggestionList
():
boolean
;
shouldAutotriggerSuggest
(
context
:
ILineContext
,
offset
:
number
,
triggeredByCharacter
:
string
):
boolean
;
...
...
src/vs/editor/common/modes/modesFilters.ts
浏览文件 @
9f7989d3
...
...
@@ -25,15 +25,11 @@ export var ContiguousSubString: ISuggestionFilter = wrapBaseFilter(Filters.match
// Combined Filters
export
function
or
(
first
:
ISuggestionFilter
,
second
:
ISuggestionFilter
):
ISuggestionFilter
{
return
(
word
:
string
,
suggestion
:
ISuggestion
):
Filters
.
IMatch
[]
=>
{
return
first
(
word
,
suggestion
)
||
second
(
word
,
suggestion
);
};
return
(
word
,
suggestion
)
=>
first
(
word
,
suggestion
)
||
second
(
word
,
suggestion
);
}
export
function
and
(
first
:
ISuggestionFilter
,
second
:
ISuggestionFilter
):
ISuggestionFilter
{
return
(
word
:
string
,
suggestion
:
ISuggestion
):
Filters
.
IMatch
[]
=>
{
return
first
(
word
,
suggestion
)
&&
second
(
word
,
suggestion
);
};
return
(
word
,
suggestion
)
=>
first
(
word
,
suggestion
)
&&
second
(
word
,
suggestion
);
}
export
var
DefaultFilter
=
or
(
or
(
Prefix
,
CamelCase
),
ContiguousSubString
);
\ No newline at end of file
src/vs/editor/common/modes/supports.ts
浏览文件 @
9f7989d3
...
...
@@ -776,7 +776,7 @@ export class SuggestSupport extends AbstractSupport implements Modes.ISuggestSup
return
DefaultFilter
;
}
public
getSorter
():
Modes
.
ISuggestion
Sorter
{
public
getSorter
():
Modes
.
ISuggestion
Compare
{
return
(
one
,
other
)
=>
{
if
(
this
.
sortByType
.
length
>
0
)
{
var
oneTypeIndex
=
this
.
sortByType
.
indexOf
(
one
.
type
);
...
...
src/vs/editor/contrib/suggest/browser/suggest.css
浏览文件 @
9f7989d3
...
...
@@ -26,43 +26,31 @@
line-height
:
1.3em
;
}
.monaco-editor
.suggest-widget
>
.message
{
padding-left
:
22px
;
opacity
:
0.7
;
}
.monaco-editor
.suggest-widget
>
.tree
{
height
:
100%
;
width
:
100%
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
{
-mox-box-sizing
:
border-box
;
box-sizing
:
border-box
;
line-height
:
1.2em
;
padding
:
2px
10px
2px
2px
;
padding
:
2px
10px
2px
2
2
px
;
background-repeat
:
no-repeat
;
background-position
:
2px
2px
;
white-space
:
nowrap
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
>
*
{
float
:
left
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
:after
{
content
:
""
;
clear
:
both
;
display
:
block
;
visibility
:
hidden
;
height
:
0
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.text
{
width
:
-webkit-calc
(
100%
-
16px
);
width
:
-moz-calc
(
100%
-
16px
);
width
:
-ms-calc
(
100%
-
16px
);
width
:
-o-calc
(
100%
-
16px
);
width
:
calc
(
100%
-
16px
);
overflow
:
hidden
;
text-overflow
:
ellipsis
;
padding-left
:
6px
;
-webkit-box-sizing
:
border-box
;
-o-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-ms-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.docs
{
display
:
none
;
max-height
:
3.4em
;
...
...
@@ -79,15 +67,11 @@
opacity
:
1
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
.monaco-editor
.suggest-widget
:not
(
.frozen
)
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
font-weight
:
bold
;
color
:
#186B9E
;
}
.monaco-editor
.suggest-widget.empty
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
background-color
:
inherit
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.type-label
{
display
:
none
;
margin-left
:
0.8em
;
...
...
@@ -95,17 +79,19 @@
color
:
#0035DD
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row.fake
>
.content
.type-label
,
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row.focused
>
.content
.type-label
{
display
:
inline
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row.fake
>
.content
.docs
,
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row.focused
>
.content
.docs
{
display
:
block
;
}
.monaco-editor
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.icon
{
position
:
absolute
;
display
:
block
;
left
:
1px
;
top
:
2px
;
background-image
:
url('symbol-sprite.svg')
;
background-repeat
:
no-repeat
;
height
:
16px
;
...
...
@@ -150,14 +136,10 @@
border
:
1px
solid
rgb
(
69
,
69
,
69
);
}
.monaco-editor.vs-dark
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
.monaco-editor.vs-dark
.suggest-widget
:not
(
.frozen
)
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
color
:
#219AE4
;
}
.monaco-editor.vs-dark
.suggest-widget.empty
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
color
:
inherit
;
}
.monaco-editor.vs-dark
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.docs
{
color
:
#C07A7A
;
}
...
...
@@ -195,14 +177,10 @@
border
:
2px
solid
#6FC3DF
;
}
.monaco-editor.hc-black
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
.monaco-editor.hc-black
.suggest-widget
:not
(
.frozen
)
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
color
:
#219AE4
;
}
.monaco-editor.hc-black
.suggest-widget.empty
.monaco-tree
.monaco-tree-row
>
.content
.monaco-highlighted-label
.highlight
{
color
:
inherit
;
}
.monaco-editor.hc-black
.suggest-widget
.monaco-tree
.monaco-tree-row
>
.content
.docs
{
color
:
#C07A7A
;
}
...
...
src/vs/editor/contrib/suggest/browser/suggest.ts
浏览文件 @
9f7989d3
...
...
@@ -7,22 +7,22 @@
import
nls
=
require
(
'
vs/nls
'
);
import
Lifecycle
=
require
(
'
vs/base/common/lifecycle
'
);
import
Snippet
=
require
(
'
vs/editor/contrib/snippet/common/snippet
'
);
import
SuggestWidget
=
require
(
'
./suggestWidget
'
)
;
import
SuggestModel
=
require
(
'
./suggestModel
'
)
;
import
{
SuggestWidget
}
from
'
./suggestWidget
'
;
import
{
SuggestModel
}
from
'
./suggestModel
'
;
import
Errors
=
require
(
'
vs/base/common/errors
'
);
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
EditorBrowserRegistry
}
from
'
vs/editor/browser/editorBrowserExtensions
'
;
import
{
CommonEditorRegistry
,
ContextKey
,
EditorActionDescriptor
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
EditorAction
,
Behaviour
}
from
'
vs/editor/common/editorAction
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
EditorBrowserRegistry
}
from
'
vs/editor/browser/editorBrowserExtensions
'
;
import
{
CommonEditorRegistry
,
ContextKey
,
EditorActionDescriptor
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
EditorAction
,
Behaviour
}
from
'
vs/editor/common/editorAction
'
;
import
EditorBrowser
=
require
(
'
vs/editor/browser/editorBrowser
'
);
import
EditorCommon
=
require
(
'
vs/editor/common/editorCommon
'
);
import
Modes
=
require
(
'
vs/editor/common/modes
'
);
import
EventEmitter
=
require
(
'
vs/base/common/eventEmitter
'
);
import
{
IKeybindingService
,
IKeybindingContextKey
}
from
'
vs/platform/keybinding/common/keybindingService
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
SuggestRegistry
,
ACCEPT_SELECTED_SUGGESTION_CMD
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
}
from
'
vs/editor/contrib/suggest/common/suggest
'
;
import
{
INullService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
KeyMod
,
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
IKeybindingService
,
IKeybindingContextKey
}
from
'
vs/platform/keybinding/common/keybindingService
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
SuggestRegistry
,
ACCEPT_SELECTED_SUGGESTION_CMD
,
CONTEXT_SUGGEST_WIDGET_VISIBLE
}
from
'
vs/editor/contrib/suggest/common/suggest
'
;
import
{
IInstantiationService
,
INullService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
KeyMod
,
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
export
class
SuggestController
implements
EditorCommon
.
IEditorContribution
{
static
ID
=
'
editor.contrib.suggestController
'
;
...
...
@@ -31,32 +31,25 @@ export class SuggestController implements EditorCommon.IEditorContribution {
return
<
SuggestController
>
editor
.
getContribution
(
SuggestController
.
ID
);
}
private
editor
:
EditorBrowser
.
ICodeEditor
;
private
model
:
SuggestModel
.
SuggestModel
;
private
suggestWidget
:
SuggestWidget
.
SuggestWidget
;
private
toDispose
:
Lifecycle
.
IDisposable
[];
private
model
:
SuggestModel
;
private
widget
:
SuggestWidget
;
private
triggerCharacterListeners
:
Function
[];
private
suggestWidgetVisible
:
IKeybindingContextKey
<
boolean
>
;
private
toDispose
:
Lifecycle
.
IDisposable
[];
constructor
(
editor
:
EditorBrowser
.
ICodeEditor
,
@
IKeybindingService
keybindingService
:
IKeybindingService
,
@
ITelemetryService
telemetryService
:
ITelemetryService
)
{
this
.
editor
=
editor
;
constructor
(
private
editor
:
EditorBrowser
.
ICodeEditor
,
@
IKeybindingService
keybindingService
:
IKeybindingService
,
@
IInstantiationService
instantiationService
:
IInstantiationService
)
{
this
.
suggestWidgetVisible
=
keybindingService
.
createKey
(
CONTEXT_SUGGEST_WIDGET_VISIBLE
,
false
);
this
.
model
=
new
SuggestModel
.
SuggestModel
(
this
.
editor
,
(
snippet
:
Snippet
.
CodeSnippet
,
overwriteBefore
:
number
,
overwriteAfter
:
number
)
=>
{
Snippet
.
get
(
this
.
editor
).
run
(
snippet
,
overwriteBefore
,
overwriteAfter
);
});
this
.
suggestWidget
=
new
SuggestWidget
.
SuggestWidget
(
this
.
editor
,
telemetryService
,
keybindingService
,
()
=>
{
this
.
suggestWidgetVisible
.
set
(
true
);
},
()
=>
{
this
.
suggestWidgetVisible
.
reset
();
});
this
.
suggestWidget
.
setModel
(
this
.
model
);
this
.
model
=
new
SuggestModel
(
this
.
editor
);
this
.
widget
=
instantiationService
.
createInstance
(
SuggestWidget
,
this
.
editor
,
this
.
model
);
this
.
triggerCharacterListeners
=
[];
this
.
toDispose
=
[];
this
.
toDispose
.
push
(
this
.
widget
.
onDidVisibilityChange
(
visible
=>
visible
?
this
.
suggestWidgetVisible
.
set
(
true
)
:
this
.
suggestWidgetVisible
.
reset
()));
this
.
toDispose
.
push
(
editor
.
addListener2
(
EditorCommon
.
EventType
.
ConfigurationChanged
,
()
=>
this
.
update
()));
this
.
toDispose
.
push
(
editor
.
addListener2
(
EditorCommon
.
EventType
.
ModelChanged
,
()
=>
this
.
update
()));
this
.
toDispose
.
push
(
editor
.
addListener2
(
EditorCommon
.
EventType
.
ModelModeChanged
,
()
=>
this
.
update
()));
...
...
@@ -67,6 +60,9 @@ export class SuggestController implements EditorCommon.IEditorContribution {
}));
this
.
toDispose
.
push
(
SuggestRegistry
.
onDidChange
(
this
.
update
,
this
));
// TODO@Joao: what is this?
this
.
toDispose
.
push
(
this
.
model
.
onDidAccept
(
e
=>
Snippet
.
get
(
this
.
editor
).
run
(
e
.
snippet
,
e
.
overwriteBefore
,
e
.
overwriteAfter
)));
this
.
update
();
}
...
...
@@ -78,12 +74,12 @@ export class SuggestController implements EditorCommon.IEditorContribution {
this
.
toDispose
=
Lifecycle
.
disposeAll
(
this
.
toDispose
);
this
.
triggerCharacterListeners
=
Lifecycle
.
cAll
(
this
.
triggerCharacterListeners
);
if
(
this
.
suggestW
idget
)
{
this
.
suggestWidget
.
destroy
();
this
.
suggestW
idget
=
null
;
if
(
this
.
w
idget
)
{
this
.
widget
.
dispose
();
this
.
w
idget
=
null
;
}
if
(
this
.
model
)
{
this
.
model
.
d
estroy
();
this
.
model
.
d
ispose
();
this
.
model
=
null
;
}
}
...
...
@@ -160,38 +156,38 @@ export class SuggestController implements EditorCommon.IEditorContribution {
}
public
acceptSelectedSuggestion
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
acceptSelectedSuggestion
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
acceptSelectedSuggestion
();
}
}
public
hideSuggestWidget
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
cancel
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
cancel
();
}
}
public
selectNextSuggestion
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
selectNext
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
selectNext
();
}
}
public
selectNextPageSuggestion
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
selectNextPage
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
selectNextPage
();
}
}
public
selectPrevSuggestion
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
selectPrevious
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
selectPrevious
();
}
}
public
selectPrevPageSuggestion
():
void
{
if
(
this
.
suggestW
idget
)
{
this
.
suggestW
idget
.
selectPreviousPage
();
if
(
this
.
w
idget
)
{
this
.
w
idget
.
selectPreviousPage
();
}
}
}
...
...
src/vs/editor/contrib/suggest/browser/suggestModel.ts
浏览文件 @
9f7989d3
此差异已折叠。
点击以展开。
src/vs/editor/contrib/suggest/browser/suggestWidget.ts
浏览文件 @
9f7989d3
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录