Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
1e300c41
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,发现更多精彩内容 >>
提交
1e300c41
编写于
6月 18, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Settings Editor - fix multiword category label cases
上级
34735bc7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
8 deletion
+31
-8
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
+1
-1
src/vs/workbench/parts/preferences/browser/settingsTree.ts
src/vs/workbench/parts/preferences/browser/settingsTree.ts
+15
-7
src/vs/workbench/parts/preferences/test/browser/settingsTree.test.ts
...bench/parts/preferences/test/browser/settingsTree.test.ts
+15
-0
未找到文件。
src/vs/workbench/parts/preferences/browser/settingsLayout.ts
浏览文件 @
1e300c41
...
...
@@ -48,7 +48,7 @@ export const tocData: ITOCEntry = {
settings
:
[
'
editor.format*
'
]
},
{
id
:
'
editor/diff
'
,
id
:
'
editor/diff
Editor
'
,
label
:
'
Diff Editor
'
,
settings
:
[
'
diffEditor.*
'
]
},
...
...
src/vs/workbench/parts/preferences/browser/settingsTree.ts
浏览文件 @
1e300c41
...
...
@@ -288,13 +288,7 @@ export class SettingsDataSource implements IDataSource {
}
export
function
settingKeyToDisplayFormat
(
key
:
string
,
groupId
=
''
):
{
category
:
string
,
label
:
string
}
{
groupId
=
groupId
.
replace
(
/
\/
/g
,
'
.
'
);
let
label
=
key
.
replace
(
/
\.([
a-z
])
/g
,
(
match
,
p1
)
=>
`.
${
p1
.
toUpperCase
()}
`
)
.
replace
(
/
([
a-z
])([
A-Z
])
/g
,
'
$1 $2
'
)
// fooBar => foo Bar
.
replace
(
/^
[
a-z
]
/g
,
match
=>
match
.
toUpperCase
());
// foo => Foo
let
label
=
wordifyKey
(
key
);
const
lastDotIdx
=
label
.
lastIndexOf
(
'
.
'
);
let
category
=
''
;
if
(
lastDotIdx
>=
0
)
{
...
...
@@ -302,12 +296,22 @@ export function settingKeyToDisplayFormat(key: string, groupId = ''): { category
label
=
label
.
substr
(
lastDotIdx
+
1
);
}
groupId
=
wordifyKey
(
groupId
.
replace
(
/
\/
/g
,
'
.
'
));
category
=
trimCategoryForGroup
(
category
,
groupId
);
return
{
category
,
label
};
}
function
wordifyKey
(
key
:
string
):
string
{
return
key
.
replace
(
/
\.([
a-z
])
/g
,
(
match
,
p1
)
=>
`.
${
p1
.
toUpperCase
()}
`
)
.
replace
(
/
([
a-z
])([
A-Z
])
/g
,
'
$1 $2
'
)
// fooBar => foo Bar
.
replace
(
/^
[
a-z
]
/g
,
match
=>
match
.
toUpperCase
());
// foo => Foo
}
function
trimCategoryForGroup
(
category
:
string
,
groupId
:
string
):
string
{
// const categoryWithoutSpaces = category.replace(/ /g, '');
const
doTrim
=
forward
=>
{
const
parts
=
groupId
.
split
(
'
.
'
);
while
(
parts
.
length
)
{
...
...
@@ -316,6 +320,10 @@ function trimCategoryForGroup(category: string, groupId: string): string {
return
category
.
replace
(
reg
,
''
);
}
// if (reg.test(categoryWithoutSpaces)) {
// return categoryWithoutSpaces.replace(reg, '');
// }
if
(
forward
)
{
parts
.
pop
();
}
else
{
...
...
src/vs/workbench/parts/preferences/test/browser/settingsTree.test.ts
浏览文件 @
1e300c41
...
...
@@ -81,5 +81,20 @@ suite('SettingsTree', () => {
category
:
''
,
label
:
'
Etc
'
});
assert
.
deepEqual
(
settingKeyToDisplayFormat
(
'
fooBar.etc
'
,
'
fooBar
'
),
{
category
:
''
,
label
:
'
Etc
'
});
assert
.
deepEqual
(
settingKeyToDisplayFormat
(
'
fooBar.somethingElse.etc
'
,
'
fooBar
'
),
{
category
:
'
Something Else
'
,
label
:
'
Etc
'
});
});
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录