Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
94af79ff
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,发现更多精彩内容 >>
提交
94af79ff
编写于
6月 19, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug: more precise handling of presentationHints
fixes #28939
上级
709211c2
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
29 addition
and
25 deletion
+29
-25
src/vs/workbench/parts/debug/common/debug.ts
src/vs/workbench/parts/debug/common/debug.ts
+1
-0
src/vs/workbench/parts/debug/common/debugModel.ts
src/vs/workbench/parts/debug/common/debugModel.ts
+4
-5
src/vs/workbench/parts/debug/common/debugSource.ts
src/vs/workbench/parts/debug/common/debugSource.ts
+5
-1
src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
+3
-3
src/vs/workbench/parts/debug/test/common/debugSource.test.ts
src/vs/workbench/parts/debug/test/common/debugSource.test.ts
+13
-13
src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
.../workbench/parts/debug/test/common/debugViewModel.test.ts
+1
-1
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
+2
-2
未找到文件。
src/vs/workbench/parts/debug/common/debug.ts
浏览文件 @
94af79ff
...
...
@@ -184,6 +184,7 @@ export interface IScope extends IExpressionContainer {
export
interface
IStackFrame
extends
ITreeElement
{
thread
:
IThread
;
name
:
string
;
presentationHint
:
string
;
frameId
:
number
;
range
:
IRange
;
source
:
Source
;
...
...
src/vs/workbench/parts/debug/common/debugModel.ts
浏览文件 @
94af79ff
...
...
@@ -335,6 +335,7 @@ export class StackFrame implements IStackFrame {
public
frameId
:
number
,
public
source
:
Source
,
public
name
:
string
,
public
presentationHint
:
string
,
public
range
:
IRange
,
private
index
:
number
)
{
...
...
@@ -458,16 +459,14 @@ export class Thread implements IThread {
}
return
response
.
body
.
stackFrames
.
map
((
rsf
,
index
)
=>
{
let
source
=
new
Source
(
rsf
.
source
,
rsf
.
source
?
rsf
.
source
.
presentationHint
:
rsf
.
presentationHint
);
let
source
=
new
Source
(
rsf
.
source
);
if
(
this
.
process
.
sources
.
has
(
source
.
uri
.
toString
()))
{
const
alreadyCreatedSource
=
this
.
process
.
sources
.
get
(
source
.
uri
.
toString
());
alreadyCreatedSource
.
presentationHint
=
source
.
presentationHint
;
source
=
alreadyCreatedSource
;
source
=
this
.
process
.
sources
.
get
(
source
.
uri
.
toString
());
}
else
{
this
.
process
.
sources
.
set
(
source
.
uri
.
toString
(),
source
);
}
return
new
StackFrame
(
this
,
rsf
.
id
,
source
,
rsf
.
name
,
new
Range
(
return
new
StackFrame
(
this
,
rsf
.
id
,
source
,
rsf
.
name
,
rsf
.
presentationHint
,
new
Range
(
rsf
.
line
,
rsf
.
column
,
rsf
.
endLine
,
...
...
src/vs/workbench/parts/debug/common/debugSource.ts
浏览文件 @
94af79ff
...
...
@@ -14,7 +14,7 @@ export class Source {
public
uri
:
uri
;
public
available
:
boolean
;
constructor
(
public
raw
:
DebugProtocol
.
Source
,
public
presentationHint
:
string
)
{
constructor
(
public
raw
:
DebugProtocol
.
Source
)
{
if
(
!
raw
)
{
this
.
raw
=
{
name
:
UNKNOWN_SOURCE_LABEL
};
}
...
...
@@ -31,6 +31,10 @@ export class Source {
return
this
.
raw
.
origin
;
}
public
get
presentationHint
()
{
return
this
.
raw
.
presentationHint
;
}
public
get
reference
()
{
return
this
.
raw
.
sourceReference
;
}
...
...
src/vs/workbench/parts/debug/electron-browser/debugViewer.ts
浏览文件 @
94af79ff
...
...
@@ -544,9 +544,9 @@ export class CallStackRenderer implements IRenderer {
}
private
renderStackFrame
(
stackFrame
:
debug
.
IStackFrame
,
data
:
IStackFrameTemplateData
):
void
{
dom
.
toggleClass
(
data
.
stackFrame
,
'
disabled
'
,
stackFrame
.
source
.
presentationHint
===
'
deemphasize
'
);
dom
.
toggleClass
(
data
.
stackFrame
,
'
label
'
,
stackFrame
.
source
.
presentationHint
===
'
label
'
);
dom
.
toggleClass
(
data
.
stackFrame
,
'
subtle
'
,
stackFrame
.
source
.
presentationHint
===
'
subtle
'
);
dom
.
toggleClass
(
data
.
stackFrame
,
'
disabled
'
,
!
stackFrame
.
source
.
available
||
stackFrame
.
source
.
presentationHint
===
'
deemphasize
'
);
dom
.
toggleClass
(
data
.
stackFrame
,
'
label
'
,
stackFrame
.
presentationHint
===
'
label
'
);
dom
.
toggleClass
(
data
.
stackFrame
,
'
subtle
'
,
stackFrame
.
presentationHint
===
'
subtle
'
);
data
.
file
.
title
=
stackFrame
.
source
.
raw
.
path
||
stackFrame
.
source
.
name
;
if
(
stackFrame
.
source
.
raw
.
origin
)
{
...
...
src/vs/workbench/parts/debug/test/common/debugSource.test.ts
浏览文件 @
94af79ff
...
...
@@ -10,30 +10,30 @@ import { Source } from 'vs/workbench/parts/debug/common/debugSource';
suite
(
'
Debug - Source
'
,
()
=>
{
test
(
'
from raw source
'
,
()
=>
{
const
rawSource
=
{
const
source
=
new
Source
(
{
name
:
'
zz
'
,
path
:
'
/xx/yy/zz
'
,
sourceReference
:
0
};
const
source
=
new
Source
(
rawSource
,
'
label
'
);
sourceReference
:
0
,
presentationHint
:
'
emphasize
'
}
);
assert
.
equal
(
source
.
presentationHint
,
'
label
'
);
assert
.
equal
(
source
.
name
,
rawSource
.
name
);
assert
.
equal
(
source
.
name
,
'
zz
'
);
assert
.
equal
(
source
.
inMemory
,
false
);
assert
.
equal
(
source
.
reference
,
rawSource
.
sourceReference
);
assert
.
equal
(
source
.
uri
.
toString
(),
uri
.
file
(
rawSource
.
path
).
toString
());
assert
.
equal
(
source
.
reference
,
0
);
assert
.
equal
(
source
.
uri
.
toString
(),
uri
.
file
(
'
/xx/yy/zz
'
).
toString
());
});
test
(
'
from raw internal source
'
,
()
=>
{
const
rawSource
=
{
const
source
=
new
Source
(
{
name
:
'
internalModule.js
'
,
sourceReference
:
11
};
const
source
=
new
Source
(
rawSource
,
'
deemphasize
'
);
sourceReference
:
11
,
presentationHint
:
'
deemphasize
'
}
);
assert
.
equal
(
source
.
presentationHint
,
'
deemphasize
'
);
assert
.
equal
(
source
.
name
,
rawSource
.
name
);
assert
.
equal
(
source
.
name
,
'
internalModule.js
'
);
assert
.
equal
(
source
.
inMemory
,
true
);
assert
.
equal
(
source
.
reference
,
rawSource
.
sourceReference
);
assert
.
equal
(
source
.
reference
,
11
);
});
});
src/vs/workbench/parts/debug/test/common/debugViewModel.test.ts
浏览文件 @
94af79ff
...
...
@@ -25,7 +25,7 @@ suite('Debug - View Model', () => {
const
mockSession
=
new
MockSession
();
const
process
=
new
Process
({
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
},
mockSession
);
const
thread
=
new
Thread
(
process
,
'
myThread
'
,
1
);
const
frame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
{
startColumn
:
1
,
startLineNumber
:
1
,
endColumn
:
undefined
,
endLineNumber
:
undefined
},
0
);
const
frame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
'
normal
'
,
{
startColumn
:
1
,
startLineNumber
:
1
,
endColumn
:
undefined
,
endLineNumber
:
undefined
},
0
);
model
.
setFocusedStackFrame
(
frame
,
process
);
assert
.
equal
(
model
.
focusedStackFrame
.
getId
(),
frame
.
getId
());
...
...
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
浏览文件 @
94af79ff
...
...
@@ -304,7 +304,7 @@ suite('Debug - Model', () => {
assert
.
equal
(
model
.
getWatchExpressions
().
length
,
0
);
const
process
=
new
Process
({
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
},
rawSession
);
const
thread
=
new
Thread
(
process
,
'
mockthread
'
,
1
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
{
startLineNumber
:
1
,
startColumn
:
1
,
endLineNumber
:
undefined
,
endColumn
:
undefined
},
0
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
'
normal
'
,
{
startLineNumber
:
1
,
startColumn
:
1
,
endLineNumber
:
undefined
,
endColumn
:
undefined
},
0
);
model
.
addWatchExpression
(
process
,
stackFrame
,
'
console
'
).
done
();
model
.
addWatchExpression
(
process
,
stackFrame
,
'
console
'
).
done
();
let
watchExpressions
=
model
.
getWatchExpressions
();
...
...
@@ -332,7 +332,7 @@ suite('Debug - Model', () => {
assert
.
equal
(
model
.
getReplElements
().
length
,
0
);
const
process
=
new
Process
({
name
:
'
mockProcess
'
,
type
:
'
node
'
,
request
:
'
launch
'
},
rawSession
);
const
thread
=
new
Thread
(
process
,
'
mockthread
'
,
1
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
{
startLineNumber
:
1
,
startColumn
:
1
,
endLineNumber
:
1
,
endColumn
:
10
},
1
);
const
stackFrame
=
new
StackFrame
(
thread
,
1
,
null
,
'
app.js
'
,
'
normal
'
,
{
startLineNumber
:
1
,
startColumn
:
1
,
endLineNumber
:
1
,
endColumn
:
10
},
1
);
model
.
addReplExpression
(
process
,
stackFrame
,
'
myVariable
'
).
done
();
model
.
addReplExpression
(
process
,
stackFrame
,
'
myVariable
'
).
done
();
model
.
addReplExpression
(
process
,
stackFrame
,
'
myVariable
'
).
done
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录