Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
9998e795
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,发现更多精彩内容 >>
提交
9998e795
编写于
1月 19, 2017
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1587 Add generics in preferences service
上级
3358b269
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
55 deletion
+39
-55
src/vs/workbench/parts/preferences/browser/preferencesEditor.ts
.../workbench/parts/preferences/browser/preferencesEditor.ts
+22
-22
src/vs/workbench/parts/preferences/browser/preferencesService.ts
...workbench/parts/preferences/browser/preferencesService.ts
+4
-4
src/vs/workbench/parts/preferences/common/preferences.ts
src/vs/workbench/parts/preferences/common/preferences.ts
+6
-6
src/vs/workbench/parts/preferences/common/preferencesModels.ts
...s/workbench/parts/preferences/common/preferencesModels.ts
+7
-23
未找到文件。
src/vs/workbench/parts/preferences/browser/preferencesEditor.ts
浏览文件 @
9998e795
...
...
@@ -217,17 +217,17 @@ export class PreferencesEditor extends BaseEditor {
}
}
private
getDefaultPreferencesRenderer
():
IPreferencesRenderer
{
private
getDefaultPreferencesRenderer
():
IPreferencesRenderer
<
ISetting
>
{
const
detailsEditor
=
this
.
sideBySidePreferencesWidget
.
getDefaultPreferencesEditor
();
if
(
detailsEditor
)
{
return
(
<
CodeEditor
>
this
.
sideBySidePreferencesWidget
.
getDefaultPreferencesEditor
().
getControl
()).
getContribution
<
PreferencesEditorContribution
>
(
DefaultSettingsEditorContribution
.
ID
).
getPreferencesRenderer
();
return
(
<
CodeEditor
>
this
.
sideBySidePreferencesWidget
.
getDefaultPreferencesEditor
().
getControl
()).
getContribution
<
PreferencesEditorContribution
<
ISetting
>
>
(
DefaultSettingsEditorContribution
.
ID
).
getPreferencesRenderer
();
}
return
null
;
}
private
getEditablePreferencesRenderer
():
IPreferencesRenderer
{
private
getEditablePreferencesRenderer
():
IPreferencesRenderer
<
ISetting
>
{
if
(
this
.
sideBySidePreferencesWidget
.
getEditablePreferencesEditor
())
{
return
(
<
CodeEditor
>
this
.
sideBySidePreferencesWidget
.
getEditablePreferencesEditor
().
getControl
()).
getContribution
<
PreferencesEditorContribution
>
(
SettingsEditorContribution
.
ID
).
getPreferencesRenderer
();
return
(
<
CodeEditor
>
this
.
sideBySidePreferencesWidget
.
getEditablePreferencesEditor
().
getControl
()).
getContribution
<
PreferencesEditorContribution
<
ISetting
>
>
(
SettingsEditorContribution
.
ID
).
getPreferencesRenderer
();
}
return
null
;
}
...
...
@@ -443,7 +443,7 @@ class DefaultPreferencesCodeEditor extends CodeEditor {
}
}
export
interface
IPreferencesRenderer
{
export
interface
IPreferencesRenderer
<
T
>
{
iterator
:
IIterator
<
ISetting
>
;
onFocusPreference
:
Event
<
ISetting
>
;
onClearFocusPreference
:
Event
<
ISetting
>
;
...
...
@@ -456,9 +456,9 @@ export interface IPreferencesRenderer {
dispose
();
}
export
abstract
class
PreferencesEditorContribution
extends
Disposable
implements
editorCommon
.
IEditorContribution
{
export
abstract
class
PreferencesEditorContribution
<
T
>
extends
Disposable
implements
editorCommon
.
IEditorContribution
{
private
preferencesRenderer
:
IPreferencesRenderer
;
private
preferencesRenderer
:
IPreferencesRenderer
<
T
>
;
constructor
(
protected
editor
:
ICodeEditor
,
@
IInstantiationService
protected
instantiationService
:
IInstantiationService
,
...
...
@@ -484,11 +484,11 @@ export abstract class PreferencesEditorContribution extends Disposable implement
}
}
getPreferencesRenderer
():
IPreferencesRenderer
{
getPreferencesRenderer
():
IPreferencesRenderer
<
T
>
{
return
this
.
preferencesRenderer
;
}
protected
abstract
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
):
IPreferencesRenderer
protected
abstract
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
<
any
>
):
IPreferencesRenderer
<
T
>
abstract
getId
():
string
;
private
disposePreferencesRenderer
()
{
...
...
@@ -504,11 +504,11 @@ export abstract class PreferencesEditorContribution extends Disposable implement
}
}
export
class
DefaultSettingsEditorContribution
extends
PreferencesEditorContribution
implements
editorCommon
.
IEditorContribution
{
export
class
DefaultSettingsEditorContribution
extends
PreferencesEditorContribution
<
ISetting
>
implements
editorCommon
.
IEditorContribution
{
static
ID
:
string
=
'
editor.contrib.defaultsettings
'
;
protected
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
):
IPreferencesRenderer
{
protected
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
<
ISetting
>
):
IPreferencesRenderer
<
ISetting
>
{
if
(
editorModel
instanceof
DefaultSettingsEditorModel
)
{
return
this
.
instantiationService
.
createInstance
(
DefaultSettingsRenderer
,
this
.
editor
,
editorModel
);
}
...
...
@@ -521,7 +521,7 @@ export class DefaultSettingsEditorContribution extends PreferencesEditorContribu
}
@
editorContribution
export
class
SettingsEditorContribution
extends
PreferencesEditorContribution
implements
editorCommon
.
IEditorContribution
{
export
class
SettingsEditorContribution
extends
PreferencesEditorContribution
<
ISetting
>
implements
editorCommon
.
IEditorContribution
{
static
ID
:
string
=
'
editor.contrib.settings
'
;
...
...
@@ -529,7 +529,7 @@ export class SettingsEditorContribution extends PreferencesEditorContribution im
return
SettingsEditorContribution
.
ID
;
}
protected
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
):
IPreferencesRenderer
{
protected
createPreferencesRenderer
(
editorModel
:
IPreferencesEditorModel
<
ISetting
>
):
IPreferencesRenderer
<
ISetting
>
{
if
(
editorModel
instanceof
SettingsEditorModel
)
{
return
this
.
instantiationService
.
createInstance
(
SettingsRenderer
,
this
.
editor
,
editorModel
);
}
...
...
@@ -537,7 +537,7 @@ export class SettingsEditorContribution extends PreferencesEditorContribution im
}
}
export
class
SettingsRenderer
extends
Disposable
implements
IPreferencesRenderer
{
export
class
SettingsRenderer
extends
Disposable
implements
IPreferencesRenderer
<
ISetting
>
{
private
initializationPromise
:
TPromise
<
void
>
;
private
settingHighlighter
:
SettingHighlighter
;
...
...
@@ -602,10 +602,10 @@ export class SettingsRenderer extends Disposable implements IPreferencesRenderer
private
onSettingUpdated
(
setting
:
ISetting
)
{
this
.
editor
.
focus
();
setting
=
this
.
preferencesModel
.
get
Setting
(
setting
.
key
);
setting
=
this
.
preferencesModel
.
get
Preference
(
setting
.
key
);
// TODO:@sandy Selection range should be template range
this
.
editor
.
setSelection
(
setting
.
valueRange
);
this
.
settingHighlighter
.
highlight
(
this
.
preferencesModel
.
get
Setting
(
setting
.
key
),
true
);
this
.
settingHighlighter
.
highlight
(
this
.
preferencesModel
.
get
Preference
(
setting
.
key
),
true
);
}
public
filterPreferences
(
filterResult
:
IFilterResult
):
void
{
...
...
@@ -615,7 +615,7 @@ export class SettingsRenderer extends Disposable implements IPreferencesRenderer
const
settings
=
distinct
(
filterResult
.
filteredGroups
.
reduce
((
settings
:
ISetting
[],
settingsGroup
:
ISettingsGroup
)
=>
{
for
(
const
section
of
settingsGroup
.
sections
)
{
for
(
const
setting
of
section
.
settings
)
{
const
s
=
this
.
preferencesModel
.
get
Setting
(
setting
.
key
);
const
s
=
this
.
preferencesModel
.
get
Preference
(
setting
.
key
);
if
(
s
)
{
settings
.
push
(
s
);
}
...
...
@@ -628,7 +628,7 @@ export class SettingsRenderer extends Disposable implements IPreferencesRenderer
}
public
focusPreference
(
setting
:
ISetting
):
void
{
const
s
=
this
.
preferencesModel
.
get
Setting
(
setting
.
key
);
const
s
=
this
.
preferencesModel
.
get
Preference
(
setting
.
key
);
if
(
s
)
{
this
.
settingHighlighter
.
highlight
(
s
,
true
);
}
else
{
...
...
@@ -641,7 +641,7 @@ export class SettingsRenderer extends Disposable implements IPreferencesRenderer
}
}
export
class
DefaultSettingsRenderer
extends
Disposable
implements
IPreferencesRenderer
{
export
class
DefaultSettingsRenderer
extends
Disposable
implements
IPreferencesRenderer
<
ISetting
>
{
private
defaultSettingsEditorContextKey
:
IContextKey
<
boolean
>
;
...
...
@@ -722,7 +722,7 @@ export class DefaultSettingsRenderer extends Disposable implements IPreferencesR
public
updatePreference
(
setting
:
ISetting
,
value
:
any
):
void
{
const
settingsEditor
=
this
.
getEditableSettingsEditor
();
if
(
settingsEditor
)
{
settingsEditor
.
getContribution
<
PreferencesEditorContribution
>
(
SettingsEditorContribution
.
ID
).
getPreferencesRenderer
().
updatePreference
(
setting
,
value
);
settingsEditor
.
getContribution
<
PreferencesEditorContribution
<
ISetting
>
>
(
SettingsEditorContribution
.
ID
).
getPreferencesRenderer
().
updatePreference
(
setting
,
value
);
}
}
...
...
@@ -1222,7 +1222,7 @@ class EditSettingRenderer extends Disposable {
}
private
getDefaultActions
(
setting
:
ISetting
):
IAction
[]
{
const
settingInOtherModel
=
this
.
otherSettingsModel
().
get
Setting
(
setting
.
key
);
const
settingInOtherModel
=
this
.
otherSettingsModel
().
get
Preference
(
setting
.
key
);
if
(
this
.
isDefaultSettings
())
{
return
[
<
IAction
>
{
id
:
'
setDefaultValue
'
,
...
...
@@ -1279,7 +1279,7 @@ class SettingHighlighter extends Disposable {
}
}
const
DefaultSettingsEditorCommand
=
EditorCommand
.
bindToContribution
<
PreferencesEditorContribution
>
((
editor
:
editorCommon
.
ICommonCodeEditor
)
=>
<
PreferencesEditorContribution
>
editor
.
getContribution
(
DefaultSettingsEditorContribution
.
ID
));
const
DefaultSettingsEditorCommand
=
EditorCommand
.
bindToContribution
<
PreferencesEditorContribution
<
ISetting
>>
((
editor
:
editorCommon
.
ICommonCodeEditor
)
=>
<
PreferencesEditorContribution
<
ISetting
>
>
editor
.
getContribution
(
DefaultSettingsEditorContribution
.
ID
));
CommonEditorRegistry
.
registerEditorCommand
(
new
DefaultSettingsEditorCommand
({
id
:
DEFAULT_EDITOR_COMMAND_COLLAPSE_ALL
,
...
...
src/vs/workbench/parts/preferences/browser/preferencesService.ts
浏览文件 @
9998e795
...
...
@@ -42,7 +42,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic
_serviceBrand
:
any
;
// TODO:@sandy merge these models into editor inputs by extending resource editor model
private
defaultPreferencesEditorModels
:
Map
<
URI
,
IPreferencesEditorModel
>
;
private
defaultPreferencesEditorModels
:
Map
<
URI
,
IPreferencesEditorModel
<
any
>
>
;
private
lastOpenedSettingsInput
:
PreferencesEditorInput
=
null
;
constructor
(
...
...
@@ -62,7 +62,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic
@
IExtensionService
private
extensionService
:
IExtensionService
)
{
super
();
this
.
defaultPreferencesEditorModels
=
new
Map
<
URI
,
IPreferencesEditorModel
>
();
this
.
defaultPreferencesEditorModels
=
new
Map
<
URI
,
IPreferencesEditorModel
<
any
>
>
();
this
.
editorGroupService
.
onEditorsChanged
(()
=>
{
const
activeEditorInput
=
this
.
editorService
.
getActiveEditorInput
();
if
(
activeEditorInput
instanceof
PreferencesEditorInput
)
{
...
...
@@ -82,7 +82,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic
return
this
.
getEditableSettingsURI
(
ConfigurationTarget
.
WORKSPACE
);
}
createDefaultPreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
>
{
createDefaultPreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
<
any
>
>
{
const
editorModel
=
this
.
defaultPreferencesEditorModels
.
get
(
uri
);
if
(
editorModel
)
{
return
TPromise
.
as
(
editorModel
);
...
...
@@ -107,7 +107,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic
return
null
;
}
public
resolvePreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
>
{
public
resolvePreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
<
any
>
>
{
const
model
=
this
.
defaultPreferencesEditorModels
.
get
(
uri
);
if
(
model
)
{
return
TPromise
.
wrap
(
model
);
...
...
src/vs/workbench/parts/preferences/common/preferences.ts
浏览文件 @
9998e795
...
...
@@ -40,19 +40,19 @@ export interface IFilterResult {
matches
:
Map
<
string
,
IRange
[]
>
;
}
export
interface
IPreferencesEditorModel
{
export
interface
IPreferencesEditorModel
<
T
>
{
uri
:
URI
;
content
:
string
;
getPreference
(
key
:
string
):
T
;
}
export
interface
ISettingsEditorModel
extends
IPreferencesEditorModel
{
export
interface
ISettingsEditorModel
extends
IPreferencesEditorModel
<
ISetting
>
{
settingsGroups
:
ISettingsGroup
[];
groupsTerms
:
string
[];
getSetting
(
key
:
string
):
ISetting
;
filterSettings
(
filter
:
string
):
IFilterResult
;
}
export
interface
IKeybindingsEditorModel
extends
IPreferencesEditorModel
{
export
interface
IKeybindingsEditorModel
<
T
>
extends
IPreferencesEditorModel
<
T
>
{
}
export
const
IPreferencesService
=
createDecorator
<
IPreferencesService
>
(
'
preferencesService
'
);
...
...
@@ -65,8 +65,8 @@ export interface IPreferencesService {
workspaceSettingsResource
:
URI
;
defaultKeybindingsResource
:
URI
;
createDefaultPreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
>
;
resolvePreferencesEditorModel
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
>
;
createDefaultPreferencesEditorModel
<
T
>
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
<
T
>
>
;
resolvePreferencesEditorModel
<
T
>
(
uri
:
URI
):
TPromise
<
IPreferencesEditorModel
<
T
>
>
;
openSettings
():
TPromise
<
void
>
;
switchSettings
():
TPromise
<
void
>
;
...
...
src/vs/workbench/parts/preferences/common/preferencesModels.ts
浏览文件 @
9998e795
...
...
@@ -87,7 +87,7 @@ export abstract class AbstractSettingsModel extends Disposable {
return
null
;
}
public
get
Setting
(
key
:
string
):
ISetting
{
public
get
Preference
(
key
:
string
):
ISetting
{
for
(
const
group
of
this
.
settingsGroups
)
{
for
(
const
section
of
group
.
sections
)
{
for
(
const
setting
of
section
.
settings
)
{
...
...
@@ -412,7 +412,7 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
return
this
.
doFilterSettings
(
filter
,
this
.
settingsGroups
);
}
public
get
Setting
(
key
:
string
):
ISetting
{
public
get
Preference
(
key
:
string
):
ISetting
{
for
(
const
group
of
this
.
settingsGroups
)
{
for
(
const
section
of
group
.
sections
)
{
for
(
const
setting
of
section
.
settings
)
{
...
...
@@ -593,29 +593,9 @@ export class DefaultSettingsEditorModel extends AbstractSettingsModel implements
result
.
push
(
indent
+
'
//
'
+
line
);
}
}
/*private _findMatchesInLine(searchRegex: RegExp, lineNumber: number): IRange[] {
const result: IRange[] = [];
const text = this._contentByLines[lineNumber - 1];
var m: RegExpExecArray;
// Reset regex to search from the beginning
searchRegex.lastIndex = 0;
do {
m = searchRegex.exec(text);
if (m) {
var range: IRange = { startLineNumber: lineNumber, startColumn: m.index + 1, endLineNumber: lineNumber, endColumn: m.index + 1 + m[0].length };
result.push(range);
if (m.index + m[0].length === text.length) {
// Reached the end of the line
return result;
}
}
} while (m);
return result;
}*/
}
export
class
DefaultKeybindingsEditorModel
implements
IKeybindingsEditorModel
{
export
class
DefaultKeybindingsEditorModel
implements
IKeybindingsEditorModel
<
any
>
{
private
_content
:
string
;
...
...
@@ -633,4 +613,8 @@ export class DefaultKeybindingsEditorModel implements IKeybindingsEditorModel {
}
return
this
.
_content
;
}
public
getPreference
():
any
{
return
null
;
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录