Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
38c54228
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,发现更多精彩内容 >>
提交
38c54228
编写于
10月 27, 2017
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug: reuse Source.getEncodedDebugData
上级
35209395
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
26 deletion
+23
-26
src/vs/workbench/parts/debug/browser/debugContentProvider.ts
src/vs/workbench/parts/debug/browser/debugContentProvider.ts
+4
-15
src/vs/workbench/parts/debug/common/debugSource.ts
src/vs/workbench/parts/debug/common/debugSource.ts
+11
-10
src/vs/workbench/parts/debug/electron-browser/debugService.ts
...vs/workbench/parts/debug/electron-browser/debugService.ts
+8
-1
未找到文件。
src/vs/workbench/parts/debug/browser/debugContentProvider.ts
浏览文件 @
38c54228
...
...
@@ -13,6 +13,7 @@ import { IModeService } from 'vs/editor/common/services/modeService';
import
{
ITextModelService
,
ITextModelContentProvider
}
from
'
vs/editor/common/services/resolverService
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
import
{
DEBUG_SCHEME
,
IDebugService
,
IProcess
}
from
'
vs/workbench/parts/debug/common/debug
'
;
import
{
Source
}
from
'
vs/workbench/parts/debug/common/debugSource
'
;
/**
* Debug URI format
...
...
@@ -48,21 +49,9 @@ export class DebugContentProvider implements IWorkbenchContribution, ITextModelC
let
sourceRef
:
number
;
if
(
resource
.
query
)
{
const
keyvalues
=
resource
.
query
.
split
(
'
&
'
);
for
(
let
keyvalue
of
keyvalues
)
{
const
pair
=
keyvalue
.
split
(
'
=
'
);
if
(
pair
.
length
===
2
)
{
switch
(
pair
[
0
])
{
case
'
session
'
:
const
processId
=
decodeURIComponent
(
pair
[
1
]);
process
=
this
.
debugService
.
getModel
().
getProcesses
().
filter
(
p
=>
p
.
getId
()
===
processId
).
pop
();
break
;
case
'
ref
'
:
sourceRef
=
parseInt
(
pair
[
1
]);
break
;
}
}
}
const
data
=
Source
.
getEncodedDebugData
(
resource
);
process
=
this
.
debugService
.
getModel
().
getProcesses
().
filter
(
p
=>
p
.
getId
()
===
data
.
processId
).
pop
();
sourceRef
=
data
.
sourceReference
;
}
if
(
!
process
)
{
...
...
src/vs/workbench/parts/debug/common/debugSource.ts
浏览文件 @
38c54228
...
...
@@ -70,11 +70,10 @@ export class Source {
},
sideBySide
);
}
public
static
createRawSource
(
modelUri
:
uri
):
DebugProtocol
.
Source
{
let
name
=
resources
.
basenameOrAuthority
(
modelUri
);
public
static
getEncodedDebugData
(
modelUri
:
uri
):
{
name
:
string
,
path
:
string
,
processId
:
string
,
sourceReference
:
number
}
{
let
path
:
string
;
let
sourceRef
:
number
;
let
sourceReference
:
number
;
let
processId
:
string
;
switch
(
modelUri
.
scheme
)
{
case
'
file
'
:
...
...
@@ -89,9 +88,10 @@ export class Source {
if
(
pair
.
length
===
2
)
{
switch
(
pair
[
0
])
{
case
'
session
'
:
processId
=
decodeURIComponent
(
pair
[
1
]);
break
;
case
'
ref
'
:
sourceRef
=
parseInt
(
pair
[
1
]);
sourceRef
erence
=
parseInt
(
pair
[
1
]);
break
;
}
}
...
...
@@ -103,10 +103,11 @@ export class Source {
break
;
}
const
src
:
DebugProtocol
.
Source
=
{
name
,
path
};
if
(
sourceRef
)
{
src
.
sourceReference
=
sourceRef
;
}
return
src
;
return
{
name
:
resources
.
basenameOrAuthority
(
modelUri
),
path
,
sourceReference
,
processId
};
}
}
\ No newline at end of file
src/vs/workbench/parts/debug/electron-browser/debugService.ts
浏览文件 @
38c54228
...
...
@@ -1110,7 +1110,14 @@ export class DebugService implements debug.IDebugService {
const
breakpointsToSend
=
this
.
model
.
getBreakpoints
().
filter
(
bp
=>
this
.
model
.
areBreakpointsActivated
()
&&
bp
.
enabled
&&
bp
.
uri
.
toString
()
===
modelUri
.
toString
());
const
source
=
process
.
sources
.
get
(
modelUri
.
toString
());
const
rawSource
=
source
?
source
.
raw
:
Source
.
createRawSource
(
modelUri
);
let
rawSource
:
DebugProtocol
.
Source
;
if
(
source
)
{
rawSource
=
source
.
raw
;
}
else
{
const
data
=
Source
.
getEncodedDebugData
(
modelUri
);
rawSource
=
{
name
:
data
.
name
,
path
:
data
.
path
,
sourceReference
:
data
.
sourceReference
};
}
if
(
breakpointsToSend
.
length
&&
!
rawSource
.
adapterData
)
{
rawSource
.
adapterData
=
breakpointsToSend
[
0
].
adapterData
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录