Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7299d524
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,发现更多精彩内容 >>
提交
7299d524
编写于
5月 22, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Settings editor as tree - Fix "show all settings" button and cleanup
上级
304b0abb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
54 deletion
+27
-54
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
...vs/workbench/parts/preferences/browser/settingsEditor2.ts
+16
-46
src/vs/workbench/parts/preferences/browser/settingsTree.ts
src/vs/workbench/parts/preferences/browser/settingsTree.ts
+11
-8
未找到文件。
src/vs/workbench/parts/preferences/browser/settingsEditor2.ts
浏览文件 @
7299d524
...
...
@@ -5,34 +5,30 @@
import
*
as
DOM
from
'
vs/base/browser/dom
'
;
import
{
Button
}
from
'
vs/base/browser/ui/button/button
'
;
import
{
IAction
}
from
'
vs/base/common/actions
'
;
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
{
Delayer
,
ThrottledDelayer
}
from
'
vs/base/common/async
'
;
import
{
Color
}
from
'
vs/base/common/color
'
;
import
{
getErrorMessage
,
isPromiseCanceledError
}
from
'
vs/base/common/errors
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
'
vs/css!./media/settingsEditor2
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
ConfigurationTarget
,
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IContextMenuService
,
IContextViewService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
IEditor
}
from
'
vs/platform/editor/common/editor
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
Workbench
List
,
Workbench
Tree
}
from
'
vs/platform/list/browser/listService
'
;
import
{
WorkbenchTree
}
from
'
vs/platform/list/browser/listService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
registerColor
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
attachButtonStyler
,
attachInputBoxStyler
,
attachSelectBoxStyler
,
attachStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
IThemeService
,
registerThemingParticipant
,
ICssStyleCollector
,
ITheme
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
attachButtonStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
BaseEditor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
EditorOptions
}
from
'
vs/workbench/common/editor
'
;
import
{
SearchWidget
,
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISetting
,
ISettingsEditorModel
,
ISettingsGroup
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsAccessibilityProvider
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTreeController
,
SettingsTreeFilter
,
TreeElement
,
TreeItemType
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
IPreferencesSearchService
,
ISearchProvider
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
DefaultSettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
IPreferencesSearchService
,
ISearchProvider
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
SettingsRenderer
,
SettingsDataSource
,
SettingsTreeController
,
SettingsAccessibilityProvider
,
TreeElement
,
TreeItemType
,
ISettingsEditorViewState
,
SearchResultModel
,
SearchResultIdx
,
SettingsTreeFilter
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
const
$
=
DOM
.
$
;
...
...
@@ -52,17 +48,11 @@ export class SettingsEditor2 extends BaseEditor {
private
settingsTree
:
WorkbenchTree
;
private
treeDataSource
:
SettingsDataSource
;
private
dimension
:
DOM
.
Dimension
;
private
searchFocusContextKey
:
IContextKey
<
boolean
>
;
private
delayedModifyLogging
:
Delayer
<
void
>
;
private
delayedFilterLogging
:
Delayer
<
void
>
;
private
localSearchDelayer
:
Delayer
<
void
>
;
private
remoteSearchThrottle
:
ThrottledDelayer
<
void
>
;
private
currentLocalSearchProvider
:
ISearchProvider
;
private
currentRemoteSearchProvider
:
ISearchProvider
;
private
pendingSettingModifiedReport
:
{
key
:
string
,
value
:
any
};
private
focusedElement
:
TreeElement
;
...
...
@@ -74,7 +64,6 @@ export class SettingsEditor2 extends BaseEditor {
@
ITelemetryService
telemetryService
:
ITelemetryService
,
@
IConfigurationService
private
configurationService
:
IConfigurationService
,
@
IThemeService
themeService
:
IThemeService
,
@
IContextMenuService
contextMenuService
:
IContextMenuService
,
@
IPreferencesService
private
preferencesService
:
IPreferencesService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IPreferencesSearchService
private
preferencesSearchService
:
IPreferencesSearchService
,
...
...
@@ -107,34 +96,15 @@ export class SettingsEditor2 extends BaseEditor {
});
}
clearInput
():
void
{
super
.
clearInput
();
}
layout
(
dimension
:
DOM
.
Dimension
):
void
{
this
.
dimension
=
dimension
;
this
.
searchWidget
.
layout
(
dimension
);
this
.
layoutSettingsList
();
this
.
layoutSettingsList
(
dimension
);
}
focus
():
void
{
this
.
searchWidget
.
focus
();
}
getSecondaryActions
():
IAction
[]
{
return
<
IAction
[]
>
[
];
}
search
(
filter
:
string
):
void
{
this
.
searchWidget
.
focus
();
}
clearSearchResults
():
void
{
this
.
searchWidget
.
clear
();
}
private
createHeader
(
parent
:
HTMLElement
):
void
{
this
.
headerContainer
=
DOM
.
append
(
parent
,
$
(
'
.settings-header
'
));
...
...
@@ -159,8 +129,7 @@ export class SettingsEditor2 extends BaseEditor {
const
searchContainer
=
DOM
.
append
(
this
.
headerContainer
,
$
(
'
.search-container
'
));
this
.
searchWidget
=
this
.
_register
(
this
.
instantiationService
.
createInstance
(
SearchWidget
,
searchContainer
,
{
ariaLabel
:
localize
(
'
SearchSettings.AriaLabel
'
,
"
Search settings
"
),
placeholder
:
localize
(
'
SearchSettings.Placeholder
'
,
"
Search settings
"
),
focusKey
:
this
.
searchFocusContextKey
placeholder
:
localize
(
'
SearchSettings.Placeholder
'
,
"
Search settings
"
)
}));
this
.
_register
(
this
.
searchWidget
.
onDidChange
(()
=>
this
.
onSearchInputChanged
()));
this
.
_register
(
DOM
.
addStandardDisposableListener
(
this
.
searchWidget
.
domNode
,
'
keydown
'
,
e
=>
{
...
...
@@ -294,6 +263,7 @@ export class SettingsEditor2 extends BaseEditor {
private
onDidClickShowAllSettings
():
void
{
this
.
viewState
.
showAllSettings
=
!
this
.
viewState
.
showAllSettings
;
this
.
refreshTree
();
}
private
reportModifiedSetting
(
props
:
{
key
:
string
,
query
:
string
,
searchResults
:
ISearchResult
[],
rawResults
:
ISearchResult
[],
showConfiguredOnly
:
boolean
,
isReset
:
boolean
,
settingsTarget
:
SettingsTarget
}):
void
{
...
...
@@ -443,13 +413,13 @@ export class SettingsEditor2 extends BaseEditor {
}
private
localFilterPreferences
(
query
:
string
):
TPromise
<
void
>
{
this
.
currentL
ocalSearchProvider
=
this
.
preferencesSearchService
.
getLocalSearchProvider
(
query
);
return
this
.
filterOrSearchPreferences
(
query
,
SearchResultIdx
.
Local
,
this
.
currentL
ocalSearchProvider
);
const
l
ocalSearchProvider
=
this
.
preferencesSearchService
.
getLocalSearchProvider
(
query
);
return
this
.
filterOrSearchPreferences
(
query
,
SearchResultIdx
.
Local
,
l
ocalSearchProvider
);
}
private
remoteSearchPreferences
(
query
:
string
):
TPromise
<
void
>
{
this
.
currentR
emoteSearchProvider
=
this
.
preferencesSearchService
.
getRemoteSearchProvider
(
query
);
return
this
.
filterOrSearchPreferences
(
query
,
SearchResultIdx
.
Remote
,
this
.
currentR
emoteSearchProvider
);
const
r
emoteSearchProvider
=
this
.
preferencesSearchService
.
getRemoteSearchProvider
(
query
);
return
this
.
filterOrSearchPreferences
(
query
,
SearchResultIdx
.
Remote
,
r
emoteSearchProvider
);
}
private
filterOrSearchPreferences
(
query
:
string
,
type
:
SearchResultIdx
,
searchProvider
:
ISearchProvider
):
TPromise
<
void
>
{
...
...
@@ -491,8 +461,8 @@ export class SettingsEditor2 extends BaseEditor {
});
}
private
layoutSettingsList
():
void
{
const
listHeight
=
this
.
dimension
.
height
-
(
DOM
.
getDomNodePagePosition
(
this
.
headerContainer
).
height
+
12
/*padding*/
);
private
layoutSettingsList
(
dimension
:
DOM
.
Dimension
):
void
{
const
listHeight
=
dimension
.
height
-
(
DOM
.
getDomNodePagePosition
(
this
.
headerContainer
).
height
+
12
/*padding*/
);
this
.
settingsTreeContainer
.
style
.
height
=
`
${
listHeight
}
px`
;
this
.
settingsTree
.
layout
(
listHeight
,
800
);
}
...
...
src/vs/workbench/parts/preferences/browser/settingsTree.ts
浏览文件 @
7299d524
...
...
@@ -3,15 +3,16 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
*
as
objects
from
'
vs/base/common/objects
'
;
import
*
as
DOM
from
'
vs/base/browser/dom
'
;
import
{
Button
}
from
'
vs/base/browser/ui/button/button
'
;
import
{
InputBox
}
from
'
vs/base/browser/ui/inputbox/inputBox
'
;
import
{
SelectBox
}
from
'
vs/base/browser/ui/selectBox/selectBox
'
;
import
{
Color
}
from
'
vs/base/common/color
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
dispose
,
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
*
as
objects
from
'
vs/base/common/objects
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IAccessibilityProvider
,
IDataSource
,
I
Renderer
,
ITree
,
IFilter
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
IAccessibilityProvider
,
IDataSource
,
I
Filter
,
IRenderer
,
ITree
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
ConfigurationTarget
,
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IContextViewService
}
from
'
vs/platform/contextview/browser/contextView
'
;
...
...
@@ -20,9 +21,8 @@ import { registerColor } from 'vs/platform/theme/common/colorRegistry';
import
{
attachButtonStyler
,
attachInputBoxStyler
,
attachSelectBoxStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
ICssStyleCollector
,
ITheme
,
IThemeService
,
registerThemingParticipant
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
SettingsTarget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
ISe
tting
,
ISettingsGroup
,
ISearchResult
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
ISe
archResult
,
ISetting
,
ISettingsGroup
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
DefaultSettingsEditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
const
$
=
DOM
.
$
;
...
...
@@ -330,7 +330,8 @@ export class SettingsRenderer implements IRenderer {
button
};
toDispose
.
push
(
button
.
onDidClick
(
e
=>
this
.
_onDidClickButton
.
fire
(
template
.
entry
&&
template
.
entry
.
id
)));
template
.
toDispose
.
push
(
attachButtonStyler
(
button
,
this
.
themeService
));
template
.
toDispose
.
push
(
button
.
onDidClick
(
e
=>
this
.
_onDidClickButton
.
fire
(
template
.
entry
&&
template
.
entry
.
id
)));
return
template
;
}
...
...
@@ -494,7 +495,9 @@ export class SettingsRenderer implements IRenderer {
}
private
renderButtonRowElement
(
element
:
IButtonElement
,
template
:
IButtonRowTemplate
):
void
{
template
.
button
.
label
=
'
Show all settings
'
;
template
.
button
.
label
=
this
.
viewState
.
showAllSettings
?
localize
(
'
showFewerSettings
'
,
"
Show Fewer Settings
"
)
:
localize
(
'
showAllSettings
'
,
"
Show All Settings
"
);
}
disposeTemplate
(
tree
:
ITree
,
templateId
:
string
,
template
:
IDisposableTemplate
):
void
{
...
...
@@ -548,10 +551,10 @@ export class SettingsAccessibilityProvider implements IAccessibilityProvider {
}
// getPosInSet(tree: ITree, element: any): string {
// throw new Error('Method not implemented.');
// throw new Error('Method not implemented.');
// }
// getSetSize(): string {
// throw new Error('Method not implemented.');
// throw new Error('Method not implemented.');
// }
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录