Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
60a2c5e1
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,发现更多精彩内容 >>
提交
60a2c5e1
编写于
6月 29, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug remove counter in repl
fixes #27856
上级
91f83afb
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
9 addition
and
95 deletion
+9
-95
src/vs/workbench/parts/debug/browser/media/repl.css
src/vs/workbench/parts/debug/browser/media/repl.css
+0
-61
src/vs/workbench/parts/debug/common/debugModel.ts
src/vs/workbench/parts/debug/common/debugModel.ts
+9
-17
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
+0
-11
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
+0
-6
未找到文件。
src/vs/workbench/parts/debug/browser/media/repl.css
浏览文件 @
60a2c5e1
...
...
@@ -52,22 +52,6 @@
padding-left
:
6px
;
}
.monaco-workbench
.repl
.repl-tree
.monaco-tree-row
.output.expression
>
.counter
{
min-width
:
11px
;
padding
:
0
3px
;
margin-right
:
6px
;
display
:
inline-block
;
border-radius
:
8px
;
font-size
:
11px
;
font-weight
:
normal
;
text-align
:
center
;
line-height
:
16px
;
}
.monaco-workbench
.repl
.repl-tree
.monaco-tree-row
.output.expression
>
.counter
:empty
{
display
:
none
;
}
.monaco-workbench
.repl
.repl-tree
.monaco-tree-row
.output.expression
.name
:not
(
:empty
)
{
margin-right
:
6px
;
}
...
...
@@ -161,51 +145,6 @@
color
:
#0000FF
;
}
.vs
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.info
{
background-color
:
#007ACC
;
color
:
white
;
}
.vs-dark
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.info
{
background-color
:
#1B80B2
;
color
:
white
;
}
.hc-black
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.info
{
background-color
:
#0000FF
;
color
:
white
;
}
.vs
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.warn
{
background-color
:
#cd9731
;
color
:
white
;
}
.vs-dark
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.warn
{
background-color
:
#cd9731
;
color
:
white
;
}
.hc-black
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.warn
{
background-color
:
#008000
;
color
:
white
;
}
.vs
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.error
{
background-color
:
#D72817
;
color
:
white
;
}
.vs-dark
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.error
{
background-color
:
#D72817
;
color
:
white
;
}
.hc-black
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
>
.counter.error
{
background-color
:
#FF0000
;
color
:
white
;
}
/* ANSI Codes */
.monaco-workbench
.repl
.repl-tree
.monaco-tree
.monaco-tree-row
>
.content
>
.output.expression
.code-bold
{
font-weight
:
bold
;
}
...
...
src/vs/workbench/parts/debug/common/debugModel.ts
浏览文件 @
60a2c5e1
...
...
@@ -43,14 +43,12 @@ export abstract class AbstractOutputElement implements IReplElement {
export
class
OutputElement
extends
AbstractOutputElement
{
public
counter
:
number
;
constructor
(
public
value
:
string
,
public
severity
:
severity
,
)
{
super
();
this
.
counter
=
1
;
}
public
toString
():
string
{
...
...
@@ -960,22 +958,16 @@ export class Model implements IModel {
public
appendToRepl
(
output
:
string
|
IExpression
,
severity
:
severity
):
void
{
if
(
typeof
output
===
'
string
'
)
{
const
previousOutput
=
this
.
replElements
.
length
&&
(
this
.
replElements
[
this
.
replElements
.
length
-
1
]
as
OutputElement
);
const
lastNonEmpty
=
previousOutput
&&
previousOutput
.
value
.
trim
()
?
previousOutput
:
this
.
replElements
.
length
>
1
?
this
.
replElements
[
this
.
replElements
.
length
-
2
]
:
undefined
;
if
(
lastNonEmpty
instanceof
OutputElement
&&
severity
===
lastNonEmpty
.
severity
&&
lastNonEmpty
.
value
===
output
.
trim
()
&&
output
.
trim
()
&&
output
.
length
>
1
)
{
// we got the same output (but not an empty string when trimmed) so we just increment the counter
lastNonEmpty
.
counter
++
;
}
else
{
const
toAdd
=
output
.
split
(
'
\n
'
).
map
(
line
=>
new
OutputElement
(
line
,
severity
));
if
(
previousOutput
instanceof
OutputElement
&&
severity
===
previousOutput
.
severity
&&
toAdd
.
length
)
{
previousOutput
.
value
+=
toAdd
.
shift
().
value
;
}
if
(
previousOutput
&&
previousOutput
.
value
===
''
&&
previousOutput
.
severity
!==
severity
)
{
// remove potential empty lines between different output types
this
.
replElements
.
pop
();
}
this
.
addReplElements
(
toAdd
);
const
toAdd
=
output
.
split
(
'
\n
'
).
map
(
line
=>
new
OutputElement
(
line
,
severity
));
if
(
previousOutput
instanceof
OutputElement
&&
severity
===
previousOutput
.
severity
&&
toAdd
.
length
)
{
previousOutput
.
value
+=
toAdd
.
shift
().
value
;
}
if
(
previousOutput
&&
previousOutput
.
value
===
''
&&
previousOutput
.
severity
!==
severity
)
{
// remove potential empty lines between different output types
this
.
replElements
.
pop
();
}
this
.
addReplElements
(
toAdd
);
}
else
{
// TODO@Isidor hack, we should introduce a new type which is an output that can fetch children like an expression
(
<
any
>
output
).
severity
=
severity
;
...
...
src/vs/workbench/parts/debug/electron-browser/replViewer.ts
浏览文件 @
60a2c5e1
...
...
@@ -62,7 +62,6 @@ interface IExpressionTemplateData {
interface
IValueOutputTemplateData
{
container
:
HTMLElement
;
counter
:
HTMLElement
;
value
:
HTMLElement
;
}
...
...
@@ -178,7 +177,6 @@ export class ReplExpressionsRenderer implements IRenderer {
let
expression
=
dom
.
append
(
container
,
$
(
'
.output.expression
'
));
data
.
container
=
container
;
data
.
counter
=
dom
.
append
(
expression
,
$
(
'
div.counter
'
));
data
.
value
=
dom
.
append
(
expression
,
$
(
'
span.value
'
));
return
data
;
...
...
@@ -224,15 +222,6 @@ export class ReplExpressionsRenderer implements IRenderer {
private
renderOutputValue
(
output
:
OutputElement
,
templateData
:
IValueOutputTemplateData
):
void
{
// counter
if
(
output
.
counter
>
1
)
{
templateData
.
counter
.
textContent
=
String
(
output
.
counter
);
templateData
.
counter
.
className
=
(
output
.
severity
===
severity
.
Warning
)
?
'
counter warn
'
:
(
output
.
severity
===
severity
.
Error
)
?
'
counter error
'
:
'
counter info
'
;
}
else
{
templateData
.
counter
.
textContent
=
''
;
templateData
.
counter
.
className
=
'
counter
'
;
}
// value
dom
.
clearNode
(
templateData
.
value
);
templateData
.
value
.
className
=
''
;
...
...
src/vs/workbench/parts/debug/test/node/debugModel.test.ts
浏览文件 @
60a2c5e1
...
...
@@ -353,24 +353,18 @@ suite('Debug - Model', () => {
test
(
'
repl output
'
,
()
=>
{
model
.
appendToRepl
(
'
first line
\n
'
,
severity
.
Error
);
model
.
appendToRepl
(
'
second line
'
,
severity
.
Error
);
model
.
appendToRepl
(
'
second line
'
,
severity
.
Error
);
model
.
appendToRepl
(
'
third line
'
,
severity
.
Warning
);
model
.
appendToRepl
(
'
third line
'
,
severity
.
Warning
);
model
.
appendToRepl
(
'
fourth line
'
,
severity
.
Error
);
let
elements
=
<
OutputElement
[]
>
model
.
getReplElements
();
assert
.
equal
(
elements
.
length
,
4
);
assert
.
equal
(
elements
[
0
].
value
,
'
first line
'
);
assert
.
equal
(
elements
[
0
].
counter
,
1
);
assert
.
equal
(
elements
[
0
].
severity
,
severity
.
Error
);
assert
.
equal
(
elements
[
1
].
value
,
'
second line
'
);
assert
.
equal
(
elements
[
1
].
counter
,
2
);
assert
.
equal
(
elements
[
1
].
severity
,
severity
.
Error
);
assert
.
equal
(
elements
[
2
].
value
,
'
third line
'
);
assert
.
equal
(
elements
[
2
].
counter
,
2
);
assert
.
equal
(
elements
[
2
].
severity
,
severity
.
Warning
);
assert
.
equal
(
elements
[
3
].
value
,
'
fourth line
'
);
assert
.
equal
(
elements
[
3
].
counter
,
1
);
assert
.
equal
(
elements
[
3
].
severity
,
severity
.
Error
);
model
.
appendToRepl
(
'
1
'
,
severity
.
Warning
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录