Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ec4af16c
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,体验更适合开发者的 AI 搜索 >>
提交
ec4af16c
编写于
11月 17, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
create debug hover lazily
#38625
上级
6c1b3bad
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
16 deletion
+25
-16
src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts
...h/parts/debug/electron-browser/debugEditorContribution.ts
+6
-1
src/vs/workbench/parts/debug/electron-browser/debugHover.ts
src/vs/workbench/parts/debug/electron-browser/debugHover.ts
+19
-15
未找到文件。
src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts
浏览文件 @
ec4af16c
...
...
@@ -199,7 +199,12 @@ export class DebugEditorContribution implements IDebugEditorContribution {
this
.
toDispose
.
push
(
this
.
editor
.
onMouseDown
((
e
:
IEditorMouseEvent
)
=>
this
.
onEditorMouseDown
(
e
)));
this
.
toDispose
.
push
(
this
.
editor
.
onMouseMove
((
e
:
IEditorMouseEvent
)
=>
this
.
onEditorMouseMove
(
e
)));
this
.
toDispose
.
push
(
this
.
editor
.
onMouseLeave
((
e
:
IEditorMouseEvent
)
=>
{
const
rect
=
this
.
hoverWidget
.
getDomNode
().
getBoundingClientRect
();
const
hoverDomNode
=
this
.
hoverWidget
.
getDomNode
();
if
(
!
hoverDomNode
)
{
return
;
}
const
rect
=
hoverDomNode
.
getBoundingClientRect
();
// Only hide the hover widget if the editor mouse leave event is outside the hover widget #3528
if
(
e
.
event
.
posx
<
rect
.
left
||
e
.
event
.
posx
>
rect
.
right
||
e
.
event
.
posy
<
rect
.
top
||
e
.
event
.
posy
>
rect
.
bottom
)
{
this
.
hideHoverWidget
();
...
...
src/vs/workbench/parts/debug/electron-browser/debugHover.ts
浏览文件 @
ec4af16c
...
...
@@ -53,29 +53,17 @@ export class DebugHoverWidget implements IContentWidget {
private
editor
:
ICodeEditor
,
private
debugService
:
IDebugService
,
private
listService
:
IListService
,
instantiationService
:
IInstantiationService
,
private
instantiationService
:
IInstantiationService
,
private
themeService
:
IThemeService
)
{
this
.
toDispose
=
[];
this
.
create
(
instantiationService
);
this
.
registerListeners
();
this
.
valueContainer
=
$
(
'
.value
'
);
this
.
valueContainer
.
tabIndex
=
0
;
this
.
valueContainer
.
setAttribute
(
'
role
'
,
'
tooltip
'
);
this
.
scrollbar
=
new
DomScrollableElement
(
this
.
valueContainer
,
{
horizontal
:
ScrollbarVisibility
.
Hidden
});
this
.
domNode
.
appendChild
(
this
.
scrollbar
.
getDomNode
());
this
.
toDispose
.
push
(
this
.
scrollbar
);
this
.
_isVisible
=
false
;
this
.
showAtPosition
=
null
;
this
.
highlightDecorations
=
[];
this
.
editor
.
addContentWidget
(
this
);
this
.
editor
.
applyFontInfo
(
this
.
domNode
);
}
private
create
(
instantiationService
:
IInstantiationService
):
void
{
private
create
():
void
{
this
.
domNode
=
$
(
'
.debug-hover-widget
'
);
this
.
complexValueContainer
=
dom
.
append
(
this
.
domNode
,
$
(
'
.complex-value
'
));
this
.
complexValueTitle
=
dom
.
append
(
this
.
complexValueContainer
,
$
(
'
.title
'
));
...
...
@@ -83,7 +71,7 @@ export class DebugHoverWidget implements IContentWidget {
this
.
treeContainer
.
setAttribute
(
'
role
'
,
'
tree
'
);
this
.
tree
=
new
Tree
(
this
.
treeContainer
,
{
dataSource
:
new
VariablesDataSource
(),
renderer
:
instantiationService
.
createInstance
(
VariablesHoverRenderer
),
renderer
:
this
.
instantiationService
.
createInstance
(
VariablesHoverRenderer
),
controller
:
new
DebugHoverController
(
this
.
editor
)
},
{
indentPixels
:
6
,
...
...
@@ -92,6 +80,15 @@ export class DebugHoverWidget implements IContentWidget {
keyboardSupport
:
false
});
this
.
valueContainer
=
$
(
'
.value
'
);
this
.
valueContainer
.
tabIndex
=
0
;
this
.
valueContainer
.
setAttribute
(
'
role
'
,
'
tooltip
'
);
this
.
scrollbar
=
new
DomScrollableElement
(
this
.
valueContainer
,
{
horizontal
:
ScrollbarVisibility
.
Hidden
});
this
.
domNode
.
appendChild
(
this
.
scrollbar
.
getDomNode
());
this
.
toDispose
.
push
(
this
.
scrollbar
);
this
.
editor
.
applyFontInfo
(
this
.
domNode
);
this
.
toDispose
.
push
(
attachListStyler
(
this
.
tree
,
this
.
themeService
));
this
.
toDispose
.
push
(
this
.
listService
.
register
(
this
.
tree
));
this
.
toDispose
.
push
(
attachStylerCallback
(
this
.
themeService
,
{
editorHoverBackground
,
editorHoverBorder
},
colors
=>
{
...
...
@@ -102,6 +99,9 @@ export class DebugHoverWidget implements IContentWidget {
this
.
domNode
.
style
.
border
=
null
;
}
}));
this
.
registerListeners
();
this
.
editor
.
addContentWidget
(
this
);
}
private
registerListeners
():
void
{
...
...
@@ -245,6 +245,10 @@ export class DebugHoverWidget implements IContentWidget {
}
private
doShow
(
position
:
Position
,
expression
:
IExpression
,
focus
:
boolean
,
forceValueHover
=
false
):
TPromise
<
void
>
{
if
(
!
this
.
domNode
)
{
this
.
create
();
}
this
.
showAtPosition
=
position
;
this
.
_isVisible
=
true
;
this
.
stoleFocus
=
focus
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录