Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
887b3067
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,发现更多精彩内容 >>
提交
887b3067
编写于
7月 25, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#31034 Register resource configurations schema
上级
c73d4d34
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
4 deletion
+14
-4
src/vs/platform/configuration/common/configurationRegistry.ts
...vs/platform/configuration/common/configurationRegistry.ts
+14
-4
未找到文件。
src/vs/platform/configuration/common/configurationRegistry.ts
浏览文件 @
887b3067
...
...
@@ -83,6 +83,7 @@ export interface IDefaultConfigurationExtension {
export
const
schemaId
=
'
vscode://schemas/settings
'
;
export
const
editorConfigurationSchemaId
=
'
vscode://schemas/settings/editor
'
;
export
const
resourceConfigurationSchemaId
=
'
vscode://schemas/settings/resource
'
;
const
contributionRegistry
=
Registry
.
as
<
IJSONContributionRegistry
>
(
JSONExtensions
.
JSONContribution
);
class
ConfigurationRegistry
implements
IConfigurationRegistry
{
...
...
@@ -90,6 +91,7 @@ class ConfigurationRegistry implements IConfigurationRegistry {
private
configurationProperties
:
{
[
qualifiedKey
:
string
]:
IJSONSchema
};
private
configurationSchema
:
IJSONSchema
;
private
editorConfigurationSchema
:
IJSONSchema
;
private
resourceConfigurationSchema
:
IJSONSchema
;
private
_onDidRegisterConfiguration
:
Emitter
<
IConfigurationRegistry
>
;
private
overrideIdentifiers
:
string
[]
=
[];
private
overridePropertyPattern
:
string
;
...
...
@@ -98,12 +100,14 @@ class ConfigurationRegistry implements IConfigurationRegistry {
this
.
configurationContributors
=
[];
this
.
configurationSchema
=
{
properties
:
{},
patternProperties
:
{},
additionalProperties
:
false
,
errorMessage
:
'
Unknown configuration setting
'
};
this
.
editorConfigurationSchema
=
{
properties
:
{},
patternProperties
:
{},
additionalProperties
:
false
,
errorMessage
:
'
Unknown editor configuration setting
'
};
this
.
resourceConfigurationSchema
=
{
properties
:
{},
patternProperties
:
{},
additionalProperties
:
false
,
errorMessage
:
'
Not a resource configuration setting
'
};
this
.
_onDidRegisterConfiguration
=
new
Emitter
<
IConfigurationRegistry
>
();
this
.
configurationProperties
=
{};
this
.
computeOverridePropertyPattern
();
contributionRegistry
.
registerSchema
(
schemaId
,
this
.
configurationSchema
);
contributionRegistry
.
registerSchema
(
editorConfigurationSchemaId
,
this
.
editorConfigurationSchema
);
contributionRegistry
.
registerSchema
(
resourceConfigurationSchemaId
,
this
.
resourceConfigurationSchema
);
}
public
get
onDidRegisterConfiguration
()
{
...
...
@@ -223,8 +227,9 @@ class ConfigurationRegistry implements IConfigurationRegistry {
private
updateSchemaForOverrideSettingsConfiguration
(
configuration
:
IConfigurationNode
):
void
{
if
(
configuration
.
id
!==
SETTINGS_OVERRRIDE_NODE_ID
)
{
this
.
update
(
configuration
,
this
.
editorConfigurationSchema
);
this
.
update
(
configuration
);
contributionRegistry
.
registerSchema
(
editorConfigurationSchemaId
,
this
.
editorConfigurationSchema
);
contributionRegistry
.
registerSchema
(
resourceConfigurationSchemaId
,
this
.
resourceConfigurationSchema
);
}
}
...
...
@@ -244,18 +249,23 @@ class ConfigurationRegistry implements IConfigurationRegistry {
contributionRegistry
.
registerSchema
(
schemaId
,
this
.
configurationSchema
);
}
private
update
(
configuration
:
IConfigurationNode
,
overridePropertiesSchema
:
IJSONSchema
):
void
{
private
update
(
configuration
:
IConfigurationNode
):
void
{
let
properties
=
configuration
.
properties
;
if
(
properties
)
{
for
(
let
key
in
properties
)
{
if
(
properties
[
key
].
overridable
)
{
overridePropertiesSchema
.
properties
[
key
]
=
this
.
getConfigurationProperties
()[
key
];
this
.
editorConfigurationSchema
.
properties
[
key
]
=
this
.
getConfigurationProperties
()[
key
];
}
switch
(
properties
[
key
].
scope
)
{
case
ConfigurationScope
.
RESOURCE
:
this
.
resourceConfigurationSchema
.
properties
[
key
]
=
this
.
getConfigurationProperties
()[
key
];
break
;
}
}
}
let
subNodes
=
configuration
.
allOf
;
if
(
subNodes
)
{
subNodes
.
forEach
(
subNode
=>
this
.
update
(
subNode
,
overridePropertiesSchema
));
subNodes
.
forEach
(
subNode
=>
this
.
update
(
subNode
));
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录