Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
0583f922
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,体验更适合开发者的 AI 搜索 >>
提交
0583f922
编写于
1月 23, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#36967 Support writing launches in workspace configuration file
上级
4f5b23ef
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
9 deletion
+12
-9
src/vs/workbench/services/configuration/node/configurationEditingService.ts
...ervices/configuration/node/configurationEditingService.ts
+10
-7
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
...ices/configuration/test/node/configurationService.test.ts
+2
-2
未找到文件。
src/vs/workbench/services/configuration/node/configurationEditingService.ts
浏览文件 @
0583f922
...
...
@@ -390,8 +390,8 @@ export class ConfigurationEditingService {
return
this
.
wrapError
(
ConfigurationEditingErrorCode
.
ERROR_INVALID_USER_TARGET
,
target
,
operation
);
}
// Workspace tasks a
nd launches a
re not supported
if
(
this
.
contextService
.
getWorkbenchState
()
===
WorkbenchState
.
WORKSPACE
&&
operation
.
target
===
ConfigurationTarget
.
WORKSPACE
)
{
// Workspace tasks are not supported
if
(
operation
.
workspaceStandAloneConfigurationKey
===
TASKS_CONFIGURATION_KEY
&&
this
.
contextService
.
getWorkbenchState
()
===
WorkbenchState
.
WORKSPACE
&&
operation
.
target
===
ConfigurationTarget
.
WORKSPACE
)
{
return
this
.
wrapError
(
ConfigurationEditingErrorCode
.
ERROR_INVALID_WORKSPACE_TARGET
,
target
,
operation
);
}
}
...
...
@@ -432,8 +432,6 @@ export class ConfigurationEditingService {
private
getConfigurationEditOperation
(
target
:
ConfigurationTarget
,
config
:
IConfigurationValue
,
overrides
:
IConfigurationOverrides
):
IConfigurationEditOperation
{
const
workspace
=
this
.
contextService
.
getWorkspace
();
// Check for standalone workspace configurations
if
(
config
.
key
)
{
const
standaloneConfigurationKeys
=
Object
.
keys
(
WORKSPACE_STANDALONE_CONFIGURATIONS
);
...
...
@@ -443,14 +441,14 @@ export class ConfigurationEditingService {
// Check for prefix
if
(
config
.
key
===
key
)
{
const
jsonPath
=
workspace
.
configuration
&&
resource
&&
workspace
.
configuration
.
fsPath
===
resource
.
fsPath
?
[
key
]
:
[];
const
jsonPath
=
this
.
isWorkspaceConfigurationResource
(
resource
)
?
[
key
]
:
[];
return
{
key
:
jsonPath
[
jsonPath
.
length
-
1
],
jsonPath
,
value
:
config
.
value
,
resource
,
workspaceStandAloneConfigurationKey
:
key
,
target
};
}
// Check for prefix.<setting>
const
keyPrefix
=
`
${
key
}
.`
;
if
(
config
.
key
.
indexOf
(
keyPrefix
)
===
0
)
{
const
jsonPath
=
workspace
.
configuration
&&
resource
&&
workspace
.
configuration
.
fsPath
===
resource
.
fsPath
?
[
key
,
config
.
key
.
substr
(
keyPrefix
.
length
)]
:
[
config
.
key
.
substr
(
keyPrefix
.
length
)];
const
jsonPath
=
this
.
isWorkspaceConfigurationResource
(
resource
)
?
[
key
,
config
.
key
.
substr
(
keyPrefix
.
length
)]
:
[
config
.
key
.
substr
(
keyPrefix
.
length
)];
return
{
key
:
jsonPath
[
jsonPath
.
length
-
1
],
jsonPath
,
value
:
config
.
value
,
resource
,
workspaceStandAloneConfigurationKey
:
key
,
target
};
}
}
...
...
@@ -463,12 +461,17 @@ export class ConfigurationEditingService {
}
const
resource
=
this
.
getConfigurationFileResource
(
target
,
FOLDER_SETTINGS_PATH
,
overrides
.
resource
);
if
(
workspace
.
configuration
&&
resource
&&
workspace
.
configuration
.
fsPath
===
resource
.
fsPath
)
{
if
(
this
.
isWorkspaceConfigurationResource
(
resource
)
)
{
jsonPath
=
[
'
settings
'
,
...
jsonPath
];
}
return
{
key
,
jsonPath
,
value
:
config
.
value
,
resource
,
target
};
}
private
isWorkspaceConfigurationResource
(
resource
:
URI
):
boolean
{
const
workspace
=
this
.
contextService
.
getWorkspace
();
return
workspace
.
configuration
&&
resource
&&
workspace
.
configuration
.
fsPath
===
resource
.
fsPath
;
}
private
getConfigurationFileResource
(
target
:
ConfigurationTarget
,
relativePath
:
string
,
resource
:
URI
):
URI
{
if
(
target
===
ConfigurationTarget
.
USER
)
{
return
URI
.
file
(
this
.
environmentService
.
appSettingsPath
);
...
...
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
浏览文件 @
0583f922
...
...
@@ -1138,10 +1138,10 @@ suite('WorkspaceConfigurationService - Multiroot', () => {
.
then
(()
=>
assert
.
fail
(
'
Should not be supported
'
),
(
e
)
=>
assert
.
equal
(
e
.
code
,
ConfigurationEditingErrorCode
.
ERROR_INVALID_WORKSPACE_TARGET
));
});
test
(
'
update launch configuration in a workspace
is not supported
'
,
()
=>
{
test
(
'
update launch configuration in a workspace
'
,
()
=>
{
const
workspace
=
workspaceContextService
.
getWorkspace
();
return
testObject
.
updateValue
(
'
launch
'
,
{
'
version
'
:
'
1.0.0
'
,
configurations
:
[{
'
name
'
:
'
myLaunch
'
}]
},
{
resource
:
workspace
.
folders
[
0
].
uri
},
ConfigurationTarget
.
WORKSPACE
,
true
)
.
then
(()
=>
assert
.
fail
(
'
Should not be supported
'
),
(
e
)
=>
assert
.
equal
(
e
.
code
,
ConfigurationEditingErrorCode
.
ERROR_INVALID_WORKSPACE_TARGET
));
.
then
(()
=>
assert
.
deepEqual
(
testObject
.
getValue
(
'
launch
'
),
{
'
version
'
:
'
1.0.0
'
,
configurations
:
[{
'
name
'
:
'
myLaunch
'
}]
}
));
});
test
(
'
task configurations are not read from workspace
'
,
()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录