Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
9fd56253
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,发现更多精彩内容 >>
提交
9fd56253
编写于
11月 14, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#38329 Always compute most relevant line offset
上级
c87f59c8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
16 deletion
+16
-16
src/vs/workbench/parts/preferences/common/preferencesModels.ts
...s/workbench/parts/preferences/common/preferencesModels.ts
+16
-16
未找到文件。
src/vs/workbench/parts/preferences/common/preferencesModels.ts
浏览文件 @
9fd56253
...
...
@@ -7,7 +7,7 @@ import * as nls from 'vs/nls';
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
tail
}
from
'
vs/base/common/arrays
'
;
import
URI
from
'
vs/base/common/uri
'
;
import
{
IReference
}
from
'
vs/base/common/lifecycle
'
;
import
{
IReference
,
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
visit
,
JSONVisitor
}
from
'
vs/base/common/json
'
;
...
...
@@ -499,17 +499,20 @@ export class WorkspaceConfigModel extends SettingsEditorModel implements ISettin
}
}
export
class
DefaultSettings
{
export
class
DefaultSettings
extends
Disposable
{
private
_allSettingsGroups
:
ISettingsGroup
[];
private
_content
:
string
;
private
_settingsByName
:
Map
<
string
,
ISetting
>
;
private
_onDidChange
:
Emitter
<
void
>
=
this
.
_register
(
new
Emitter
<
void
>
());
readonly
onDidChange
:
Event
<
void
>
=
this
.
_onDidChange
.
event
;
constructor
(
private
_mostCommonlyUsedSettingsKeys
:
string
[],
readonly
configurationScope
:
ConfigurationScope
,
)
{
super
();
}
public
get
content
():
string
{
...
...
@@ -527,12 +530,16 @@ export class DefaultSettings {
}
parse
():
string
{
const
currentContent
=
this
.
_content
;
const
configurations
=
Registry
.
as
<
IConfigurationRegistry
>
(
Extensions
.
Configuration
).
getConfigurations
().
slice
();
const
settingsGroups
=
this
.
removeEmptySettingsGroups
(
configurations
.
sort
(
this
.
compareConfigurationNodes
).
reduce
((
result
,
config
,
index
,
array
)
=>
this
.
parseConfig
(
config
,
result
,
array
),
[]));
this
.
initAllSettingsMap
(
settingsGroups
);
const
mostCommonlyUsed
=
this
.
getMostCommonlyUsedSettings
(
settingsGroups
);
this
.
_allSettingsGroups
=
[
mostCommonlyUsed
,
...
settingsGroups
];
this
.
_content
=
this
.
toContent
(
mostCommonlyUsed
,
settingsGroups
);
if
(
this
.
_content
!==
currentContent
)
{
this
.
_onDidChange
.
fire
();
}
return
this
.
_content
;
}
...
...
@@ -678,9 +685,6 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
private
_model
:
IModel
;
private
_settingsByName
:
Map
<
string
,
ISetting
>
;
private
_mostRelevantLineOffset
:
number
;
private
_settingsGroups
:
ISettingsGroup
[];
private
_onDidChangeGroups
:
Emitter
<
void
>
=
this
.
_register
(
new
Emitter
<
void
>
());
readonly
onDidChangeGroups
:
Event
<
void
>
=
this
.
_onDidChangeGroups
.
event
;
...
...
@@ -689,20 +693,15 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
private
_uri
:
URI
,
reference
:
IReference
<
ITextEditorModel
>
,
readonly
configurationScope
:
ConfigurationScope
,
defaultSettings
:
DefaultSettings
private
readonly
defaultSettings
:
DefaultSettings
)
{
super
();
this
.
_settingsGroups
=
defaultSettings
.
settingsGroups
;
this
.
_register
(
defaultSettings
.
onDidChange
(()
=>
this
.
_onDidChangeGroups
.
fire
()));
this
.
_model
=
reference
.
object
.
textEditorModel
;
this
.
_register
(
this
.
onDispose
(()
=>
reference
.
dispose
()));
this
.
_register
(
this
.
_model
.
onDidChangeContent
(()
=>
{
this
.
_settingsGroups
=
defaultSettings
.
settingsGroups
;
this
.
_onDidChangeGroups
.
fire
();
}));
this
.
initAllSettingsMap
();
this
.
_mostRelevantLineOffset
=
tail
(
this
.
settingsGroups
).
range
.
endLineNumber
+
2
;
}
public
get
uri
():
URI
{
...
...
@@ -710,7 +709,7 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
}
public
get
settingsGroups
():
ISettingsGroup
[]
{
return
this
.
_
settingsGroups
;
return
this
.
defaultSettings
.
settingsGroups
;
}
public
filterSettings
(
filter
:
string
,
groupFilter
:
IGroupFilter
,
settingFilter
:
ISettingFilter
,
mostRelevantSettings
?:
string
[]):
IFilterResult
{
...
...
@@ -733,7 +732,8 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
}
private
renderMostRelevantSettings
(
mostRelevantSettings
:
string
[]):
ISettingsGroup
{
const
builder
=
new
SettingsContentBuilder
(
this
.
_mostRelevantLineOffset
-
1
);
const
mostRelevantLineOffset
=
tail
(
this
.
settingsGroups
).
range
.
endLineNumber
+
2
;
const
builder
=
new
SettingsContentBuilder
(
mostRelevantLineOffset
-
1
);
builder
.
pushLine
(
'
,
'
);
const
mostRelevantGroup
=
this
.
getMostRelevantSettings
(
mostRelevantSettings
);
builder
.
pushGroups
([
mostRelevantGroup
]);
...
...
@@ -746,7 +746,7 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
{
text
:
mostRelevantContent
,
forceMoveMarkers
:
false
,
range
:
new
Range
(
this
.
_
mostRelevantLineOffset
,
1
,
mostRelevantEndLine
,
1
),
range
:
new
Range
(
mostRelevantLineOffset
,
1
,
mostRelevantEndLine
,
1
),
identifier
:
{
major
:
1
,
minor
:
0
}
}
]);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录