Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
d6b3a85b
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,发现更多精彩内容 >>
提交
d6b3a85b
编写于
6月 18, 2019
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixes #75359
上级
b759cc6a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
7 deletion
+24
-7
src/vs/workbench/contrib/debug/browser/repl.ts
src/vs/workbench/contrib/debug/browser/repl.ts
+2
-1
src/vs/workbench/contrib/debug/browser/variablesView.ts
src/vs/workbench/contrib/debug/browser/variablesView.ts
+14
-2
src/vs/workbench/contrib/debug/browser/watchExpressionsView.ts
...s/workbench/contrib/debug/browser/watchExpressionsView.ts
+1
-0
src/vs/workbench/contrib/debug/common/debug.ts
src/vs/workbench/contrib/debug/common/debug.ts
+1
-0
src/vs/workbench/contrib/debug/common/debugModel.ts
src/vs/workbench/contrib/debug/common/debugModel.ts
+6
-4
未找到文件。
src/vs/workbench/contrib/debug/browser/repl.ts
浏览文件 @
d6b3a85b
...
...
@@ -62,7 +62,7 @@ import { RunOnceScheduler } from 'vs/base/common/async';
import
{
FuzzyScore
,
createMatches
}
from
'
vs/base/common/filters
'
;
import
{
HighlightedLabel
}
from
'
vs/base/browser/ui/highlightedlabel/highlightedLabel
'
;
import
{
IClipboardService
}
from
'
vs/platform/clipboard/common/clipboardService
'
;
import
{
VariablesRenderer
}
from
'
vs/workbench/contrib/debug/browser/variablesView
'
;
import
{
VariablesRenderer
,
variableSetEmitter
}
from
'
vs/workbench/contrib/debug/browser/variablesView
'
;
const
$
=
dom
.
$
;
...
...
@@ -274,6 +274,7 @@ export class Repl extends Panel implements IPrivateReplService, IHistoryNavigati
revealLastElement
(
this
.
tree
);
this
.
history
.
add
(
this
.
replInput
.
getValue
());
this
.
replInput
.
setValue
(
''
);
variableSetEmitter
.
fire
();
const
shouldRelayout
=
this
.
replInputHeight
>
Repl
.
REPL_INPUT_INITIAL_HEIGHT
;
this
.
replInputHeight
=
Repl
.
REPL_INPUT_INITIAL_HEIGHT
;
if
(
shouldRelayout
)
{
...
...
src/vs/workbench/contrib/debug/browser/variablesView.ts
浏览文件 @
d6b3a85b
...
...
@@ -30,6 +30,7 @@ import { HighlightedLabel, IHighlight } from 'vs/base/browser/ui/highlightedlabe
import
{
IClipboardService
}
from
'
vs/platform/clipboard/common/clipboardService
'
;
const
$
=
dom
.
$
;
let
forgetScopes
=
true
;
export
const
variableSetEmitter
=
new
Emitter
<
void
>
();
...
...
@@ -99,7 +100,14 @@ export class VariablesView extends ViewletPanel {
const
timeout
=
sf
.
explicit
?
0
:
undefined
;
this
.
onFocusStackFrameScheduler
.
schedule
(
timeout
);
}));
this
.
_register
(
variableSetEmitter
.
event
(()
=>
this
.
tree
.
updateChildren
()));
this
.
_register
(
variableSetEmitter
.
event
(()
=>
{
const
stackFrame
=
this
.
debugService
.
getViewModel
().
focusedStackFrame
;
if
(
stackFrame
&&
forgetScopes
)
{
stackFrame
.
forgetScopes
();
}
forgetScopes
=
true
;
this
.
tree
.
updateChildren
();
}));
this
.
_register
(
this
.
tree
.
onMouseDblClick
(
e
=>
this
.
onMouseDblClick
(
e
)));
this
.
_register
(
this
.
tree
.
onContextMenu
(
e
=>
this
.
onContextMenu
(
e
)));
...
...
@@ -256,7 +264,11 @@ export class VariablesRenderer extends AbstractExpressionsRenderer {
if
(
success
&&
variable
.
value
!==
value
)
{
variable
.
setVariable
(
value
)
// Need to force watch expressions and variables to update since a variable change can have an effect on both
.
then
(()
=>
variableSetEmitter
.
fire
());
.
then
(()
=>
{
// Do not refresh scopes due to a node limitation #15520
forgetScopes
=
false
;
variableSetEmitter
.
fire
();
});
}
}
};
...
...
src/vs/workbench/contrib/debug/browser/watchExpressionsView.ts
浏览文件 @
d6b3a85b
...
...
@@ -247,6 +247,7 @@ export class WatchExpressionsRenderer extends AbstractExpressionsRenderer {
onFinish
:
(
value
:
string
,
success
:
boolean
)
=>
{
if
(
success
&&
value
)
{
this
.
debugService
.
renameWatchExpression
(
expression
.
getId
(),
value
);
variableSetEmitter
.
fire
();
}
else
if
(
!
expression
.
name
)
{
this
.
debugService
.
removeWatchExpressions
(
expression
.
getId
());
}
...
...
src/vs/workbench/contrib/debug/common/debug.ts
浏览文件 @
d6b3a85b
...
...
@@ -301,6 +301,7 @@ export interface IStackFrame extends ITreeElement {
getScopes
():
Promise
<
IScope
[]
>
;
getMostSpecificScopes
(
range
:
IRange
):
Promise
<
ReadonlyArray
<
IScope
>>
;
getSpecificSourceName
():
string
;
forgetScopes
():
void
;
restart
():
Promise
<
any
>
;
toString
():
string
;
openInEditor
(
editorService
:
IEditorService
,
preserveFocus
?:
boolean
,
sideBySide
?:
boolean
):
Promise
<
ITextEditor
|
null
>
;
...
...
src/vs/workbench/contrib/debug/common/debugModel.ts
浏览文件 @
d6b3a85b
...
...
@@ -314,7 +314,7 @@ export class Scope extends ExpressionContainer implements IScope {
export
class
StackFrame
implements
IStackFrame
{
private
scopes
:
Promise
<
Scope
[]
>
|
null
;
private
scopes
:
Promise
<
Scope
[]
>
|
undefined
;
constructor
(
public
thread
:
IThread
,
...
...
@@ -324,9 +324,7 @@ export class StackFrame implements IStackFrame {
public
presentationHint
:
string
|
undefined
,
public
range
:
IRange
,
private
index
:
number
)
{
this
.
scopes
=
null
;
}
)
{
}
getId
():
string
{
return
`stackframe:
${
this
.
thread
.
getId
()}
:
${
this
.
frameId
}
:
${
this
.
index
}
`
;
...
...
@@ -382,6 +380,10 @@ export class StackFrame implements IStackFrame {
return
this
.
thread
.
session
.
restartFrame
(
this
.
frameId
,
this
.
thread
.
threadId
);
}
forgetScopes
():
void
{
this
.
scopes
=
undefined
;
}
toString
():
string
{
const
lineNumberToString
=
typeof
this
.
range
.
startLineNumber
===
'
number
'
?
`:
${
this
.
range
.
startLineNumber
}
`
:
''
;
const
sourceToString
=
`
${
this
.
source
.
inMemory
?
this
.
source
.
name
:
this
.
source
.
uri
.
fsPath
}${
lineNumberToString
}
`
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录