Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
ade60477
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,发现更多精彩内容 >>
提交
ade60477
编写于
10月 15, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use IconLabel when rendering suggestions, #44860
上级
b72fede4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
7 deletion
+20
-7
src/vs/base/browser/ui/iconLabel/iconLabel.ts
src/vs/base/browser/ui/iconLabel/iconLabel.ts
+2
-1
src/vs/editor/contrib/suggest/suggestWidget.ts
src/vs/editor/contrib/suggest/suggestWidget.ts
+18
-6
未找到文件。
src/vs/base/browser/ui/iconLabel/iconLabel.ts
浏览文件 @
ade60477
...
...
@@ -21,6 +21,7 @@ export interface IIconLabelValueOptions {
extraClasses
?:
string
[];
italic
?:
boolean
;
matches
?:
IMatch
[];
labelEscapeNewLines
?:
boolean
;
descriptionMatches
?:
IMatch
[];
}
...
...
@@ -136,7 +137,7 @@ export class IconLabel extends Disposable {
this
.
domNode
.
title
=
options
&&
options
.
title
?
options
.
title
:
''
;
if
(
this
.
labelNode
instanceof
HighlightedLabel
)
{
this
.
labelNode
.
set
(
label
||
''
,
options
?
options
.
matches
:
void
0
);
this
.
labelNode
.
set
(
label
||
''
,
options
?
options
.
matches
:
void
0
,
void
0
,
options
&&
options
.
labelEscapeNewLines
);
}
else
{
this
.
labelNode
.
textContent
=
label
||
''
;
}
...
...
src/vs/editor/contrib/suggest/suggestWidget.ts
浏览文件 @
ade60477
...
...
@@ -11,7 +11,6 @@ import { Event, Emitter, chain } from 'vs/base/common/event';
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
IDisposable
,
dispose
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
addClass
,
append
,
$
,
hide
,
removeClass
,
show
,
toggleClass
,
getDomNodePagePosition
,
hasClass
}
from
'
vs/base/browser/dom
'
;
import
{
HighlightedLabel
}
from
'
vs/base/browser/ui/highlightedlabel/highlightedLabel
'
;
import
{
IListVirtualDelegate
,
IListEvent
,
IListRenderer
}
from
'
vs/base/browser/ui/list/list
'
;
import
{
List
}
from
'
vs/base/browser/ui/list/listWidget
'
;
import
{
DomScrollableElement
}
from
'
vs/base/browser/ui/scrollbar/scrollableElement
'
;
...
...
@@ -33,6 +32,7 @@ import { IOpenerService } from 'vs/platform/opener/common/opener';
import
{
TimeoutTimer
,
CancelablePromise
,
createCancelablePromise
}
from
'
vs/base/common/async
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
CompletionItemKind
,
completionKindToCssClass
}
from
'
vs/editor/common/modes
'
;
import
{
IconLabel
,
IIconLabelValueOptions
}
from
'
vs/base/browser/ui/iconLabel/iconLabel
'
;
const
expandSuggestionDocsByDefault
=
false
;
const
maxSuggestionsToShow
=
12
;
...
...
@@ -41,7 +41,7 @@ interface ISuggestionTemplateData {
root
:
HTMLElement
;
icon
:
HTMLElement
;
colorspan
:
HTMLElement
;
highlightedLabel
:
Highlighted
Label
;
iconLabel
:
Icon
Label
;
typeLabel
:
HTMLElement
;
readMore
:
HTMLElement
;
disposables
:
IDisposable
[];
...
...
@@ -97,8 +97,10 @@ class Renderer implements IListRenderer<ICompletionItem, ISuggestionTemplateData
const
text
=
append
(
container
,
$
(
'
.contents
'
));
const
main
=
append
(
text
,
$
(
'
.main
'
));
data
.
highlightedLabel
=
new
HighlightedLabel
(
main
);
data
.
disposables
.
push
(
data
.
highlightedLabel
);
data
.
iconLabel
=
new
IconLabel
(
main
,
{
supportHighlights
:
true
});
data
.
disposables
.
push
(
data
.
iconLabel
);
data
.
typeLabel
=
append
(
main
,
$
(
'
span.type-label
'
));
data
.
readMore
=
append
(
main
,
$
(
'
span.readMore
'
));
...
...
@@ -147,8 +149,18 @@ class Renderer implements IListRenderer<ICompletionItem, ISuggestionTemplateData
}
}
data
.
highlightedLabel
.
set
(
suggestion
.
label
,
createMatches
(
element
.
matches
),
''
,
true
);
// data.highlightedLabel.set(`${suggestion.label} <${element.score}=score(${element.word}, ${suggestion.filterText || suggestion.label})>`, createMatches(element.matches));
const
labelOptions
:
IIconLabelValueOptions
=
{
labelEscapeNewLines
:
true
,
matches
:
createMatches
(
element
.
matches
)
};
if
(
suggestion
.
kind
===
CompletionItemKind
.
File
)
{
addClass
(
data
.
root
,
'
show-file-icons
'
);
labelOptions
.
extraClasses
=
[];
}
data
.
iconLabel
.
setValue
(
suggestion
.
label
,
undefined
,
labelOptions
);
data
.
typeLabel
.
textContent
=
(
suggestion
.
detail
||
''
).
replace
(
/
\n
.*$/m
,
''
);
if
(
canExpandCompletionItem
(
element
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录