Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
d1c67a42
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,发现更多精彩内容 >>
提交
d1c67a42
编写于
5月 08, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use highlight label when filtering
上级
25d37c8f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
21 addition
and
28 deletion
+21
-28
src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts
.../workbench/parts/outline/electron-browser/outlinePanel.ts
+0
-1
src/vs/workbench/parts/outline/electron-browser/outlineTree.ts
...s/workbench/parts/outline/electron-browser/outlineTree.ts
+21
-27
未找到文件。
src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts
浏览文件 @
d1c67a42
...
...
@@ -150,7 +150,6 @@ export class OutlinePanel extends ViewsViewletPanel {
}
this
.
_editorDisposables
.
push
(
this
.
_input
.
onDidChange
(
query
=>
{
console
.
log
(
'
query:
'
+
query
);
model
.
updateFilter
(
query
);
this
.
_tree
.
refresh
(
undefined
,
true
);
}));
...
...
src/vs/workbench/parts/outline/electron-browser/outlineTree.ts
浏览文件 @
d1c67a42
...
...
@@ -11,6 +11,8 @@ import { symbolKindToCssClass } from 'vs/editor/common/modes';
import
{
Range
}
from
'
vs/editor/common/core/range
'
;
import
{
IDataSource
,
IRenderer
,
ITree
,
ISorter
,
IFilter
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
OneOutline
,
OutlineItem
}
from
'
./outlineModel
'
;
import
{
HighlightedLabel
}
from
'
../../../../base/browser/ui/highlightedlabel/highlightedLabel
'
;
import
{
createMatches
}
from
'
../../../../base/common/filters
'
;
export
class
OutlineItemComparator
implements
ISorter
{
compare
(
tree
:
ITree
,
a
:
OutlineItem
,
b
:
OutlineItem
):
number
{
...
...
@@ -36,7 +38,11 @@ export class OutlineDataSource implements IDataSource {
}
hasChildren
(
tree
:
ITree
,
element
:
OneOutline
|
OutlineItem
):
boolean
{
return
element
.
children
.
length
>
0
;
if
(
element
instanceof
OneOutline
)
{
return
element
.
children
.
length
>
0
;
}
else
{
return
element
.
children
.
length
>
0
&&
element
.
children
.
some
(
child
=>
Boolean
(
child
.
matches
));
}
}
async
getChildren
(
tree
:
ITree
,
element
:
OneOutline
|
OutlineItem
):
TPromise
<
any
,
any
>
{
...
...
@@ -48,41 +54,29 @@ export class OutlineDataSource implements IDataSource {
}
}
export
class
OutlineItemTemplate
{
readonly
icon
:
HTMLSpanElement
;
readonly
label
:
HTMLSpanElement
;
readonly
detail
:
HTMLSpanElement
;
constructor
(
container
:
HTMLElement
)
{
this
.
icon
=
document
.
createElement
(
'
span
'
);
this
.
label
=
document
.
createElement
(
'
span
'
);
this
.
detail
=
document
.
createElement
(
'
span
'
);
container
.
appendChild
(
this
.
icon
);
container
.
appendChild
(
this
.
label
);
container
.
appendChild
(
this
.
detail
);
dom
.
addClass
(
this
.
icon
,
'
icon
'
);
dom
.
addClass
(
this
.
label
,
'
label
'
);
dom
.
addClass
(
this
.
detail
,
'
detail
'
);
dom
.
addClass
(
container
,
'
outline-item
'
);
}
export
interface
OutlineItemTemplate
{
icon
:
HTMLSpanElement
;
label
:
HighlightedLabel
;
}
export
class
OutlineRenderer
implements
IRenderer
{
getHeight
(
tree
:
ITree
,
element
:
any
):
number
{
getHeight
(
tree
:
ITree
,
element
:
OutlineItem
):
number
{
return
22
;
}
getTemplateId
(
tree
:
ITree
,
element
:
any
):
string
{
getTemplateId
(
tree
:
ITree
,
element
:
OutlineItem
):
string
{
return
'
outline.element
'
;
}
renderTemplate
(
tree
:
ITree
,
templateId
:
string
,
container
:
HTMLElement
)
{
return
new
OutlineItemTemplate
(
container
);
renderTemplate
(
tree
:
ITree
,
templateId
:
string
,
container
:
HTMLElement
):
OutlineItemTemplate
{
const
icon
=
dom
.
$
(
'
.icon
'
);
container
.
appendChild
(
icon
);
const
label
=
new
HighlightedLabel
(
container
);
return
{
icon
,
label
};
}
renderElement
(
tree
:
ITree
,
element
:
any
,
templateId
:
string
,
template
:
OutlineItemTemplate
):
void
{
renderElement
(
tree
:
ITree
,
element
:
OutlineItem
,
templateId
:
string
,
template
:
OutlineItemTemplate
):
void
{
template
.
icon
.
classList
.
add
(
symbolKindToCssClass
((
<
OutlineItem
>
element
).
symbol
.
kind
));
template
.
label
.
innerText
=
(
<
OutlineItem
>
element
).
symbol
.
name
;
template
.
label
.
set
(
element
.
symbol
.
name
,
element
.
matches
?
createMatches
(
element
.
matches
[
1
])
:
[])
;
}
disposeTemplate
(
tree
:
ITree
,
templateId
:
string
,
template
Data
:
OutlineItemTemplate
):
void
{
//todo@joh
disposeTemplate
(
tree
:
ITree
,
templateId
:
string
,
template
:
OutlineItemTemplate
):
void
{
template
.
label
.
dispose
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录