Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
1fc990a0
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,发现更多精彩内容 >>
提交
1fc990a0
编写于
10月 19, 2019
作者:
M
Matthew Clifford
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add a clear button to settings editor search bar
Resolves #66141
上级
62ea9603
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
37 addition
and
3 deletion
+37
-3
src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css
...nch/contrib/preferences/browser/media/settingsEditor2.css
+10
-1
src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts
.../workbench/contrib/preferences/browser/settingsEditor2.ts
+27
-2
未找到文件。
src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css
浏览文件 @
1fc990a0
...
...
@@ -44,7 +44,16 @@
padding
:
0px
8px
;
border-radius
:
2px
;
position
:
absolute
;
right
:
10px
;
right
:
35px
;
top
:
0
;
}
.settings-editor
>
.settings-header
>
.search-container
>
.settings-clear-widget
{
margin
:
6px
0px
;
padding
:
0px
8px
;
border-radius
:
2px
;
position
:
absolute
;
right
:
0px
;
top
:
0
;
}
...
...
src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts
浏览文件 @
1fc990a0
...
...
@@ -36,11 +36,13 @@ import { AbstractSettingRenderer, ISettingLinkClickEvent, ISettingOverrideClickE
import
{
ISettingsEditorViewState
,
parseQuery
,
SearchResultIdx
,
SearchResultModel
,
SettingsTreeElement
,
SettingsTreeGroupChild
,
SettingsTreeGroupElement
,
SettingsTreeModel
,
SettingsTreeSettingElement
}
from
'
vs/workbench/contrib/preferences/browser/settingsTreeModels
'
;
import
{
settingsTextInputBorder
}
from
'
vs/workbench/contrib/preferences/browser/settingsWidgets
'
;
import
{
createTOCIterator
,
TOCTree
,
TOCTreeModel
}
from
'
vs/workbench/contrib/preferences/browser/tocTree
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
CONTEXT_TOC_ROW_FOCUS
,
EXTENSION_SETTING_TAG
,
IPreferencesSearchService
,
ISearchProvider
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
}
from
'
vs/workbench/contrib/preferences/common/preferences
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
CONTEXT_TOC_ROW_FOCUS
,
EXTENSION_SETTING_TAG
,
IPreferencesSearchService
,
ISearchProvider
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
,
SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
}
from
'
vs/workbench/contrib/preferences/common/preferences
'
;
import
{
IEditorGroupsService
}
from
'
vs/workbench/services/editor/common/editorGroupsService
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISettingsEditorModel
,
ISettingsEditorOptions
,
SettingsEditorOptions
,
SettingValueType
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
Settings2EditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
ActionBar
}
from
'
vs/base/browser/ui/actionbar/actionbar
'
;
function
createGroupIterator
(
group
:
SettingsTreeGroupElement
):
Iterator
<
ITreeElement
<
SettingsTreeGroupChild
>>
{
const
groupsIt
=
Iterator
.
fromArray
(
group
.
children
);
...
...
@@ -129,6 +131,9 @@ export class SettingsEditor2 extends BaseEditor {
private
scheduledRefreshes
:
Map
<
string
,
DOM
.
IFocusTracker
>
;
private
lastFocusedSettingElement
:
string
|
null
=
null
;
private
actionBar
:
ActionBar
;
private
actionsContainer
:
HTMLElement
;
/** Don't spam warnings */
private
hasWarnedMissingSettings
=
false
;
...
...
@@ -377,11 +382,18 @@ export class SettingsEditor2 extends BaseEditor {
this
.
searchWidget
.
setValue
(
query
.
trim
());
}
clearSearch
():
void
{
this
.
clearSearchResults
();
this
.
focusSearch
();
}
private
createHeader
(
parent
:
HTMLElement
):
void
{
this
.
headerContainer
=
DOM
.
append
(
parent
,
$
(
'
.settings-header
'
));
const
searchContainer
=
DOM
.
append
(
this
.
headerContainer
,
$
(
'
.search-container
'
));
const
clearInputAction
=
new
Action
(
SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
localize
(
'
clearInput
'
,
"
Clear Settings Search Input
"
),
'
codicon-clear-all
'
,
false
,
()
=>
{
this
.
clearSearch
();
return
Promise
.
resolve
(
null
);
});
const
searchBoxLabel
=
localize
(
'
SearchSettings.AriaLabel
'
,
"
Search settings
"
);
this
.
searchWidget
=
this
.
_register
(
this
.
instantiationService
.
createInstance
(
SuggestEnabledInput
,
`
${
SettingsEditor2
.
ID
}
.searchbox`
,
searchContainer
,
{
triggerCharacters
:
[
'
@
'
],
...
...
@@ -417,13 +429,26 @@ export class SettingsEditor2 extends BaseEditor {
this
.
countElement
.
style
.
borderColor
=
border
;
}));
this
.
_register
(
this
.
searchWidget
.
onInputDidChange
(()
=>
this
.
onSearchInputChanged
()));
this
.
_register
(
this
.
searchWidget
.
onInputDidChange
(()
=>
{
const
searchVal
=
this
.
searchWidget
.
getValue
();
clearInputAction
.
enabled
=
!!
searchVal
;
this
.
onSearchInputChanged
();
}));
const
headerControlsContainer
=
DOM
.
append
(
this
.
headerContainer
,
$
(
'
.settings-header-controls
'
));
const
targetWidgetContainer
=
DOM
.
append
(
headerControlsContainer
,
$
(
'
.settings-target-container
'
));
this
.
settingsTargetsWidget
=
this
.
_register
(
this
.
instantiationService
.
createInstance
(
SettingsTargetsWidget
,
targetWidgetContainer
,
{
enableRemoteSettings
:
true
}));
this
.
settingsTargetsWidget
.
settingsTarget
=
ConfigurationTarget
.
USER_LOCAL
;
this
.
settingsTargetsWidget
.
onDidTargetChange
(
target
=>
this
.
onDidSettingsTargetChange
(
target
));
this
.
actionsContainer
=
DOM
.
append
(
searchContainer
,
DOM
.
$
(
'
.settings-clear-widget
'
));
this
.
actionBar
=
this
.
_register
(
new
ActionBar
(
this
.
actionsContainer
,
{
animated
:
false
,
actionViewItemProvider
:
(
action
:
Action
)
=>
{
return
undefined
;
}
}));
this
.
actionBar
.
push
([
clearInputAction
],
{
label
:
false
,
icon
:
true
});
}
private
onDidSettingsTargetChange
(
target
:
SettingsTarget
):
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录