Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
375605af
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 搜索 >>
提交
375605af
编写于
11月 29, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #39192
上级
4e78a42a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
15 deletion
+23
-15
src/vs/workbench/services/configuration/node/configuration.ts
...vs/workbench/services/configuration/node/configuration.ts
+3
-15
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
...ices/configuration/test/node/configurationService.test.ts
+20
-0
未找到文件。
src/vs/workbench/services/configuration/node/configuration.ts
浏览文件 @
375605af
...
...
@@ -24,6 +24,7 @@ import { JSONEditingService } from 'vs/workbench/services/configuration/node/jso
import
{
WorkbenchState
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
ConfigurationScope
}
from
'
vs/platform/configuration/common/configurationRegistry
'
;
import
{
relative
}
from
'
path
'
;
import
{
equals
}
from
'
vs/base/common/objects
'
;
// node.hs helper functions
...
...
@@ -189,10 +190,9 @@ export class FolderConfiguration extends Disposable {
}
reprocess
():
ConfigurationModel
{
const
old
Keys
=
this
.
getUnsupportedKeys
()
;
const
old
Contents
=
this
.
_folderSettingsModelParser
.
folderSettingsModel
.
contents
;
this
.
_folderSettingsModelParser
.
reprocess
();
const
newKeys
=
this
.
getUnsupportedKeys
();
if
(
this
.
hasKeysChanged
(
oldKeys
,
newKeys
))
{
if
(
!
equals
(
oldContents
,
this
.
_folderSettingsModelParser
.
folderSettingsModel
.
contents
))
{
this
.
consolidate
();
}
return
this
.
_cache
;
...
...
@@ -202,18 +202,6 @@ export class FolderConfiguration extends Disposable {
return
this
.
_folderSettingsModelParser
.
folderSettingsModel
.
unsupportedKeys
;
}
private
hasKeysChanged
(
oldKeys
:
string
[],
newKeys
:
string
[]):
boolean
{
if
(
oldKeys
.
length
!==
newKeys
.
length
)
{
return
true
;
}
for
(
const
key
of
oldKeys
)
{
if
(
newKeys
.
indexOf
(
key
)
===
-
1
)
{
return
true
;
}
}
return
false
;
}
private
consolidate
():
void
{
this
.
_cache
=
this
.
_folderSettingsModelParser
.
folderSettingsModel
.
merge
(...
this
.
_standAloneConfigurations
);
}
...
...
src/vs/workbench/services/configuration/test/node/configurationService.test.ts
浏览文件 @
375605af
...
...
@@ -968,6 +968,26 @@ suite('WorkspaceConfigurationService - Multiroot', () => {
});
});
test
(
'
resource setting in folder is read after it is registered later
'
,
()
=>
{
fs
.
writeFileSync
(
workspaceContextService
.
getWorkspace
().
folders
[
0
].
toResource
(
'
.vscode/settings.json
'
).
fsPath
,
'
{ "configurationService.workspace.testNewResourceSetting2": "workspaceFolderValue" }
'
);
return
jsonEditingServce
.
write
(
workspaceContextService
.
getWorkspace
().
configuration
,
{
key
:
'
settings
'
,
value
:
{
'
configurationService.workspace.testNewResourceSetting2
'
:
'
workspaceValue
'
}
},
true
)
.
then
(()
=>
testObject
.
reloadConfiguration
())
.
then
(()
=>
{
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
_test
'
,
'
type
'
:
'
object
'
,
'
properties
'
:
{
'
configurationService.workspace.testNewResourceSetting2
'
:
{
'
type
'
:
'
string
'
,
'
default
'
:
'
isSet
'
,
scope
:
ConfigurationScope
.
RESOURCE
}
}
});
assert
.
equal
(
testObject
.
getValue
(
'
configurationService.workspace.testNewResourceSetting2
'
,
{
resource
:
workspaceContextService
.
getWorkspace
().
folders
[
0
].
uri
}),
'
workspaceFolderValue
'
);
});
});
test
(
'
inspect
'
,
()
=>
{
let
actual
=
testObject
.
inspect
(
'
something.missing
'
);
assert
.
equal
(
actual
.
default
,
void
0
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录