Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
994ed41f
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
994ed41f
编写于
11月 11, 2019
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #84528
上级
b9a9714d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
38 addition
and
3 deletion
+38
-3
src/vs/workbench/services/configuration/common/configurationEditingService.ts
...vices/configuration/common/configurationEditingService.ts
+2
-2
src/vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts
...test/electron-browser/configurationEditingService.test.ts
+36
-1
未找到文件。
src/vs/workbench/services/configuration/common/configurationEditingService.ts
浏览文件 @
994ed41f
...
...
@@ -436,7 +436,7 @@ export class ConfigurationEditingService {
}
if
(
target
===
EditableConfigurationTarget
.
WORKSPACE
)
{
if
(
!
operation
.
workspaceStandAloneConfigurationKey
)
{
if
(
!
operation
.
workspaceStandAloneConfigurationKey
&&
!
OVERRIDE_PROPERTY_PATTERN
.
test
(
operation
.
key
)
)
{
const
configurationProperties
=
Registry
.
as
<
IConfigurationRegistry
>
(
ConfigurationExtensions
.
Configuration
).
getConfigurationProperties
();
if
(
configurationProperties
[
operation
.
key
].
scope
===
ConfigurationScope
.
APPLICATION
)
{
return
this
.
reject
(
ConfigurationEditingErrorCode
.
ERROR_INVALID_WORKSPACE_CONFIGURATION_APPLICATION
,
target
,
operation
);
...
...
@@ -452,7 +452,7 @@ export class ConfigurationEditingService {
return
this
.
reject
(
ConfigurationEditingErrorCode
.
ERROR_INVALID_FOLDER_TARGET
,
target
,
operation
);
}
if
(
!
operation
.
workspaceStandAloneConfigurationKey
)
{
if
(
!
operation
.
workspaceStandAloneConfigurationKey
&&
!
OVERRIDE_PROPERTY_PATTERN
.
test
(
operation
.
key
)
)
{
const
configurationProperties
=
Registry
.
as
<
IConfigurationRegistry
>
(
ConfigurationExtensions
.
Configuration
).
getConfigurationProperties
();
if
(
configurationProperties
[
operation
.
key
].
scope
!==
ConfigurationScope
.
RESOURCE
)
{
return
this
.
reject
(
ConfigurationEditingErrorCode
.
ERROR_INVALID_FOLDER_CONFIGURATION
,
target
,
operation
);
...
...
src/vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts
浏览文件 @
994ed41f
...
...
@@ -18,7 +18,7 @@ import * as uuid from 'vs/base/common/uuid';
import
{
IConfigurationRegistry
,
Extensions
as
ConfigurationExtensions
}
from
'
vs/platform/configuration/common/configurationRegistry
'
;
import
{
WorkspaceService
}
from
'
vs/workbench/services/configuration/browser/configurationService
'
;
import
{
ConfigurationEditingService
,
ConfigurationEditingError
,
ConfigurationEditingErrorCode
,
EditableConfigurationTarget
}
from
'
vs/workbench/services/configuration/common/configurationEditingService
'
;
import
{
WORKSPACE_STANDALONE_CONFIGURATIONS
}
from
'
vs/workbench/services/configuration/common/configuration
'
;
import
{
WORKSPACE_STANDALONE_CONFIGURATIONS
,
FOLDER_SETTINGS_PATH
}
from
'
vs/workbench/services/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
TestInstantiationService
}
from
'
vs/platform/instantiation/test/common/instantiationServiceMock
'
;
import
{
ITextFileService
}
from
'
vs/workbench/services/textfile/common/textfiles
'
;
...
...
@@ -236,6 +236,41 @@ suite('ConfigurationEditingService', () => {
});
});
test
(
'
write overridable settings to user settings
'
,
()
=>
{
const
key
=
'
[language]
'
;
const
value
=
{
'
configurationEditing.service.testSetting
'
:
'
overridden value
'
};
return
testObject
.
writeConfiguration
(
EditableConfigurationTarget
.
USER_LOCAL
,
{
key
,
value
})
.
then
(()
=>
{
const
contents
=
fs
.
readFileSync
(
globalSettingsFile
).
toString
(
'
utf8
'
);
const
parsed
=
json
.
parse
(
contents
);
assert
.
deepEqual
(
parsed
[
key
],
value
);
});
});
test
(
'
write overridable settings to workspace settings
'
,
()
=>
{
const
key
=
'
[language]
'
;
const
value
=
{
'
configurationEditing.service.testSetting
'
:
'
overridden value
'
};
return
testObject
.
writeConfiguration
(
EditableConfigurationTarget
.
WORKSPACE
,
{
key
,
value
})
.
then
(()
=>
{
const
target
=
path
.
join
(
workspaceDir
,
FOLDER_SETTINGS_PATH
);
const
contents
=
fs
.
readFileSync
(
target
).
toString
(
'
utf8
'
);
const
parsed
=
json
.
parse
(
contents
);
assert
.
deepEqual
(
parsed
[
key
],
value
);
});
});
test
(
'
write overridable settings to workspace folder settings
'
,
()
=>
{
const
key
=
'
[language]
'
;
const
value
=
{
'
configurationEditing.service.testSetting
'
:
'
overridden value
'
};
const
folderSettingsFile
=
path
.
join
(
workspaceDir
,
FOLDER_SETTINGS_PATH
);
return
testObject
.
writeConfiguration
(
EditableConfigurationTarget
.
WORKSPACE_FOLDER
,
{
key
,
value
},
{
scopes
:
{
resource
:
URI
.
file
(
folderSettingsFile
)
}
})
.
then
(()
=>
{
const
contents
=
fs
.
readFileSync
(
folderSettingsFile
).
toString
(
'
utf8
'
);
const
parsed
=
json
.
parse
(
contents
);
assert
.
deepEqual
(
parsed
[
key
],
value
);
});
});
test
(
'
write workspace standalone setting - empty file
'
,
()
=>
{
return
testObject
.
writeConfiguration
(
EditableConfigurationTarget
.
WORKSPACE
,
{
key
:
'
tasks.service.testSetting
'
,
value
:
'
value
'
})
.
then
(()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录