Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7edfb1d4
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,发现更多精彩内容 >>
提交
7edfb1d4
编写于
5月 13, 2020
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add pinning support for dynamic launch configurations
#95836
上级
74408bac
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
22 addition
and
2 deletion
+22
-2
src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts
...kbench/contrib/debug/browser/debugConfigurationManager.ts
+22
-2
未找到文件。
src/vs/workbench/contrib/debug/browser/debugConfigurationManager.ts
浏览文件 @
7edfb1d4
...
...
@@ -273,13 +273,27 @@ export class ConfigurationManager implements IConfigurationManager {
picks
.
push
(
provider
.
provideDebugConfigurations
!
(
launch
.
workspace
.
uri
,
token
.
token
).
then
(
configurations
=>
configurations
.
map
(
config
=>
({
label
:
config
.
name
,
config
,
buttons
:
[{
iconClass
:
'
codicon-pin
'
,
tooltip
:
nls
.
localize
(
'
pinLaunchConfig
'
,
"
Pin Launch Configuration
"
)
}],
launch
}))));
}
});
const
promiseOfPicks
=
Promise
.
all
(
picks
).
then
(
result
=>
result
.
reduce
((
first
,
second
)
=>
first
.
concat
(
second
),
[]));
const
result
=
await
this
.
quickInputService
.
pick
<
{
label
:
string
,
launch
:
ILaunch
,
config
:
IConfig
}
>
(
promiseOfPicks
,
{
placeHolder
:
nls
.
localize
(
'
selectConfiguration
'
,
"
Select Debug Configuration
"
)
});
const
result
=
await
this
.
quickInputService
.
pick
<
{
label
:
string
,
launch
:
ILaunch
,
config
:
IConfig
}
>
(
promiseOfPicks
,
{
placeHolder
:
nls
.
localize
(
'
selectConfiguration
'
,
"
Select Launch Configuration
"
),
onDidTriggerItemButton
:
async
(
context
)
=>
{
await
this
.
quickInputService
.
cancel
();
const
{
launch
,
config
}
=
context
.
item
;
await
launch
.
openConfigFile
(
false
,
config
.
type
);
// Only Launch have a pin trigger button
await
(
launch
as
Launch
).
writeConfiguration
(
config
);
this
.
selectConfiguration
(
launch
,
config
.
name
);
}
});
if
(
!
result
)
{
// User canceled quick input we should notify the provider to cancel computing configurations
token
.
cancel
();
...
...
@@ -697,6 +711,12 @@ class Launch extends AbstractLaunch implements ILaunch {
created
});
}
async
writeConfiguration
(
configuration
:
IConfig
):
Promise
<
void
>
{
const
fullConfig
=
objects
.
deepClone
(
this
.
getConfig
()
!
);
fullConfig
.
configurations
.
push
(
configuration
);
await
this
.
configurationService
.
updateValue
(
'
launch
'
,
fullConfig
,
{
resource
:
this
.
workspace
.
uri
},
ConfigurationTarget
.
WORKSPACE_FOLDER
);
}
}
class
WorkspaceLaunch
extends
AbstractLaunch
implements
ILaunch
{
...
...
@@ -718,7 +738,7 @@ class WorkspaceLaunch extends AbstractLaunch implements ILaunch {
}
get
name
():
string
{
return
nls
.
localize
(
'
workspace
'
,
"
W
orkspace
"
);
return
nls
.
localize
(
'
workspace
'
,
"
w
orkspace
"
);
}
protected
getConfig
():
IGlobalConfig
|
undefined
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录