Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
0ea57dc6
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,发现更多精彩内容 >>
提交
0ea57dc6
编写于
11月 07, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#61590 - show settings editor actions in editor toolbar instead of private ... menu
上级
c8a6e6e8
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
75 addition
and
61 deletion
+75
-61
src/vs/workbench/parts/preferences/browser/preferencesActions.ts
...workbench/parts/preferences/browser/preferencesActions.ts
+1
-1
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
...workbench/parts/preferences/browser/settingsTreeModels.ts
+2
-2
src/vs/workbench/parts/preferences/common/preferences.ts
src/vs/workbench/parts/preferences/common/preferences.ts
+5
-0
src/vs/workbench/parts/preferences/electron-browser/media/edit-json-inverse.svg
.../preferences/electron-browser/media/edit-json-inverse.svg
+3
-0
src/vs/workbench/parts/preferences/electron-browser/media/edit-json.svg
...ch/parts/preferences/electron-browser/media/edit-json.svg
+3
-0
src/vs/workbench/parts/preferences/electron-browser/preferences.contribution.ts
.../preferences/electron-browser/preferences.contribution.ts
+51
-1
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
...nch/parts/preferences/electron-browser/settingsEditor2.ts
+8
-55
src/vs/workbench/parts/preferences/test/browser/settingsTreeModels.test.ts
...parts/preferences/test/browser/settingsTreeModels.test.ts
+2
-2
未找到文件。
src/vs/workbench/parts/preferences/browser/preferencesActions.ts
浏览文件 @
0ea57dc6
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
dispose
,
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
dispose
,
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
getIconClasses
}
from
'
vs/editor/common/services/getIconClasses
'
;
import
{
IModelService
}
from
'
vs/editor/common/services/modelService
'
;
import
{
IModelService
}
from
'
vs/editor/common/services/modelService
'
;
import
{
IModeService
}
from
'
vs/editor/common/services/modeService
'
;
import
{
IModeService
}
from
'
vs/editor/common/services/modeService
'
;
import
*
as
nls
from
'
vs/nls
'
;
import
*
as
nls
from
'
vs/nls
'
;
...
@@ -13,7 +14,6 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
...
@@ -13,7 +14,6 @@ import { ICommandService } from 'vs/platform/commands/common/commands';
import
{
IQuickInputService
,
IQuickPickItem
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
IQuickInputService
,
IQuickPickItem
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
IWorkspaceContextService
,
IWorkspaceFolder
,
WorkbenchState
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
IWorkspaceContextService
,
IWorkspaceFolder
,
WorkbenchState
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
PICK_WORKSPACE_FOLDER_COMMAND_ID
}
from
'
vs/workbench/browser/actions/workspaceCommands
'
;
import
{
PICK_WORKSPACE_FOLDER_COMMAND_ID
}
from
'
vs/workbench/browser/actions/workspaceCommands
'
;
import
{
getIconClasses
}
from
'
vs/editor/common/services/getIconClasses
'
;
import
{
IPreferencesService
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
IPreferencesService
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
export
class
OpenRawDefaultSettingsAction
extends
Action
{
export
class
OpenRawDefaultSettingsAction
extends
Action
{
...
...
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
浏览文件 @
0ea57dc6
...
@@ -12,8 +12,8 @@ import { ConfigurationScope } from 'vs/platform/configuration/common/configurati
...
@@ -12,8 +12,8 @@ import { ConfigurationScope } from 'vs/platform/configuration/common/configurati
import
{
SettingsTarget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
SettingsTarget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
ITOCEntry
,
knownAcronyms
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
ITOCEntry
,
knownAcronyms
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
IExtensionSetting
,
ISearchResult
,
ISetting
,
SettingValueType
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
IExtensionSetting
,
ISearchResult
,
ISetting
,
SettingValueType
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
MODIFIED_SETTING_TAG
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
export
const
MODIFIED_SETTING_TAG
=
'
modified
'
;
export
const
ONLINE_SERVICES_SETTING_TAG
=
'
usesOnlineServices
'
;
export
const
ONLINE_SERVICES_SETTING_TAG
=
'
usesOnlineServices
'
;
export
interface
ISettingsEditorViewState
{
export
interface
ISettingsEditorViewState
{
...
@@ -523,7 +523,7 @@ export interface IParsedQuery {
...
@@ -523,7 +523,7 @@ export interface IParsedQuery {
}
}
const
tagRegex
=
/
(
^|
\s)
@tag:
(
"
([^
"
]
*
)
"|
[^
"
]\S
*
)
/g
;
const
tagRegex
=
/
(
^|
\s)
@tag:
(
"
([^
"
]
*
)
"|
[^
"
]\S
*
)
/g
;
export
function
parseQuery
(
query
:
string
):
IParsedQuery
{
export
function
getQueryWithoutTags
(
query
:
string
):
IParsedQuery
{
const
tags
:
string
[]
=
[];
const
tags
:
string
[]
=
[];
query
=
query
.
replace
(
tagRegex
,
(
_
,
__
,
quotedTag
,
tag
)
=>
{
query
=
query
.
replace
(
tagRegex
,
(
_
,
__
,
quotedTag
,
tag
)
=>
{
tags
.
push
(
tag
||
quotedTag
);
tags
.
push
(
tag
||
quotedTag
);
...
...
src/vs/workbench/parts/preferences/common/preferences.ts
浏览文件 @
0ea57dc6
...
@@ -79,6 +79,9 @@ export const SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH = 'settings.acti
...
@@ -79,6 +79,9 @@ export const SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH = 'settings.acti
export
const
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST
=
'
settings.action.focusSettingsList
'
;
export
const
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST
=
'
settings.action.focusSettingsList
'
;
export
const
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
=
'
settings.action.showContextMenu
'
;
export
const
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
=
'
settings.action.showContextMenu
'
;
export
const
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
=
'
settings.filterByModified
'
;
export
const
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
=
'
settings.filterByOnline
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_SEARCH
=
'
keybindings.editor.searchKeybindings
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_SEARCH
=
'
keybindings.editor.searchKeybindings
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
=
'
keybindings.editor.clearSearchResults
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
=
'
keybindings.editor.clearSearchResults
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS
=
'
keybindings.editor.recordSearchKeys
'
;
export
const
KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS
=
'
keybindings.editor.recordSearchKeys
'
;
...
@@ -96,3 +99,5 @@ export const KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS = 'keybindings.editor.show
...
@@ -96,3 +99,5 @@ export const KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS = 'keybindings.editor.show
export
const
FOLDER_SETTINGS_PATH
=
join
(
'
.vscode
'
,
'
settings.json
'
);
export
const
FOLDER_SETTINGS_PATH
=
join
(
'
.vscode
'
,
'
settings.json
'
);
export
const
DEFAULT_SETTINGS_EDITOR_SETTING
=
'
workbench.settings.openDefaultSettings
'
;
export
const
DEFAULT_SETTINGS_EDITOR_SETTING
=
'
workbench.settings.openDefaultSettings
'
;
export
const
MODIFIED_SETTING_TAG
=
'
modified
'
;
\ No newline at end of file
src/vs/workbench/parts/preferences/electron-browser/media/edit-json-inverse.svg
0 → 100644
浏览文件 @
0ea57dc6
<svg
width=
"16"
height=
"16"
viewBox=
"0 0 16 16"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M2.22785 7.35986C2.69078 7.35986 3.01627 7.25136 3.20434 7.03436C3.33454 6.87523 3.39964 6.64376 3.39964 6.33996C3.39964 6.20976 3.38517 6.01808 3.35624 5.76492C3.32731 5.51176 3.31284 5.31646 3.31284 5.17902C3.31284 5.04159 3.30561 4.83544 3.29114 4.56058C3.26221 4.31465 3.24774 4.14105 3.24774 4.03978C3.24774 3.34539 3.45027 2.83183 3.85533 2.49909C4.2604 2.16636 4.83183 2 5.56962 2H6.11212V3.28029H5.83002C5.51175 3.28029 5.28391 3.37071 5.14647 3.55154C5.00904 3.73237 4.94033 4.00362 4.94033 4.36528C4.94033 4.45208 4.95479 4.58228 4.98372 4.75588C5.01266 4.97288 5.02712 5.13924 5.02712 5.25497C5.02712 5.34177 5.03436 5.4792 5.04882 5.66727C5.07776 5.92767 5.09222 6.1302 5.09222 6.27486C5.09222 6.82459 4.97649 7.23689 4.74503 7.51175C4.5425 7.75768 4.22423 7.93128 3.79024 8.03255C4.22423 8.14828 4.5425 8.32188 4.74503 8.55334C4.97649 8.84268 5.09222 9.25497 5.09222 9.79024C5.09222 9.94937 5.07776 10.1591 5.04882 10.4195C5.01989 10.6076 5.00904 10.745 5.01627 10.8318C5.02351 10.9186 5.01266 11.0705 4.98372 11.2875C4.95479 11.4467 4.94033 11.5624 4.94033 11.6347C4.94033 11.9964 5.00904 12.2676 5.14647 12.4485C5.28391 12.6293 5.51175 12.7197 5.83002 12.7197H6.11212V14H5.56962C4.0651 14 3.31284 13.3201 3.31284 11.9602C3.31284 11.4684 3.33816 11.0886 3.38879 10.821C3.43942 10.5533 3.46474 10.1664 3.46474 9.66004C3.46474 8.98011 3.08137 8.64014 2.31465 8.64014L2.22785 7.35986ZM13.7722 8.50995C13.0054 8.50995 12.6221 8.84991 12.6221 9.52984C12.6221 9.66004 12.6329 9.85172 12.6546 10.1049C12.6763 10.358 12.6872 10.5497 12.6872 10.6799C12.7306 10.9548 12.7523 11.3382 12.7523 11.83C12.7523 13.1899 11.9855 13.8698 10.4521 13.8698H9.90958V12.7197H10.17C10.4882 12.7197 10.7161 12.6293 10.8535 12.4485C10.991 12.2676 11.0597 11.9964 11.0597 11.6347C11.0597 11.2731 11.038 10.9982 10.9946 10.8101C10.9946 10.6944 10.9801 10.5244 10.9512 10.3002C10.9222 10.0759 10.9078 9.90597 10.9078 9.79024C10.9078 9.25497 11.0235 8.84268 11.255 8.55334C11.4575 8.32188 11.7758 8.14828 12.2098 8.03255C11.7758 7.93128 11.4575 7.75768 11.255 7.51175C11.0235 7.23689 10.9078 6.82459 10.9078 6.27486C10.9078 6.1302 10.9222 5.92767 10.9512 5.66727C10.9801 5.4792 10.9946 5.34177 10.9946 5.25497C11.038 5.02351 11.0597 4.73418 11.0597 4.38698C11.0597 4.03978 10.9873 3.77939 10.8427 3.60579C10.698 3.43219 10.4738 3.32369 10.17 3.28029H9.90958V2H10.4521C11.1754 2 11.7396 2.16636 12.1447 2.49909C12.5497 2.83183 12.7523 3.34539 12.7523 4.03978C12.7523 4.16998 12.7414 4.36166 12.7197 4.61483C12.698 4.86799 12.6872 5.05967 12.6872 5.18987C12.6438 5.46474 12.6148 5.8481 12.6004 6.33996C12.6148 6.64376 12.6799 6.87523 12.7957 7.03436C12.9837 7.25136 13.3092 7.35986 13.7722 7.35986V8.50995Z"
fill=
"#C5C5C5"
/>
</svg>
src/vs/workbench/parts/preferences/electron-browser/media/edit-json.svg
0 → 100644
浏览文件 @
0ea57dc6
<svg
width=
"16"
height=
"16"
viewBox=
"0 0 16 16"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M2.22785 7.35986C2.69078 7.35986 3.01627 7.25136 3.20434 7.03436C3.33454 6.87523 3.39964 6.64376 3.39964 6.33996C3.39964 6.20976 3.38517 6.01808 3.35624 5.76492C3.32731 5.51176 3.31284 5.31646 3.31284 5.17902C3.31284 5.04159 3.30561 4.83544 3.29114 4.56058C3.26221 4.31465 3.24774 4.14105 3.24774 4.03978C3.24774 3.34539 3.45027 2.83183 3.85533 2.49909C4.2604 2.16636 4.83183 2 5.56962 2H6.11212V3.28029H5.83002C5.51175 3.28029 5.28391 3.37071 5.14647 3.55154C5.00904 3.73237 4.94033 4.00362 4.94033 4.36528C4.94033 4.45208 4.95479 4.58228 4.98372 4.75588C5.01266 4.97288 5.02712 5.13924 5.02712 5.25497C5.02712 5.34177 5.03436 5.4792 5.04882 5.66727C5.07776 5.92767 5.09222 6.1302 5.09222 6.27486C5.09222 6.82459 4.97649 7.23689 4.74503 7.51175C4.5425 7.75768 4.22423 7.93128 3.79024 8.03255C4.22423 8.14828 4.5425 8.32188 4.74503 8.55334C4.97649 8.84268 5.09222 9.25497 5.09222 9.79024C5.09222 9.94937 5.07776 10.1591 5.04882 10.4195C5.01989 10.6076 5.00904 10.745 5.01627 10.8318C5.02351 10.9186 5.01266 11.0705 4.98372 11.2875C4.95479 11.4467 4.94033 11.5624 4.94033 11.6347C4.94033 11.9964 5.00904 12.2676 5.14647 12.4485C5.28391 12.6293 5.51175 12.7197 5.83002 12.7197H6.11212V14H5.56962C4.0651 14 3.31284 13.3201 3.31284 11.9602C3.31284 11.4684 3.33816 11.0886 3.38879 10.821C3.43942 10.5533 3.46474 10.1664 3.46474 9.66004C3.46474 8.98011 3.08137 8.64014 2.31465 8.64014L2.22785 7.35986ZM13.7722 8.50995C13.0054 8.50995 12.6221 8.84991 12.6221 9.52984C12.6221 9.66004 12.6329 9.85172 12.6546 10.1049C12.6763 10.358 12.6872 10.5497 12.6872 10.6799C12.7306 10.9548 12.7523 11.3382 12.7523 11.83C12.7523 13.1899 11.9855 13.8698 10.4521 13.8698H9.90958V12.7197H10.17C10.4882 12.7197 10.7161 12.6293 10.8535 12.4485C10.991 12.2676 11.0597 11.9964 11.0597 11.6347C11.0597 11.2731 11.038 10.9982 10.9946 10.8101C10.9946 10.6944 10.9801 10.5244 10.9512 10.3002C10.9222 10.0759 10.9078 9.90597 10.9078 9.79024C10.9078 9.25497 11.0235 8.84268 11.255 8.55334C11.4575 8.32188 11.7758 8.14828 12.2098 8.03255C11.7758 7.93128 11.4575 7.75768 11.255 7.51175C11.0235 7.23689 10.9078 6.82459 10.9078 6.27486C10.9078 6.1302 10.9222 5.92767 10.9512 5.66727C10.9801 5.4792 10.9946 5.34177 10.9946 5.25497C11.038 5.02351 11.0597 4.73418 11.0597 4.38698C11.0597 4.03978 10.9873 3.77939 10.8427 3.60579C10.698 3.43219 10.4738 3.32369 10.17 3.28029H9.90958V2H10.4521C11.1754 2 11.7396 2.16636 12.1447 2.49909C12.5497 2.83183 12.7523 3.34539 12.7523 4.03978C12.7523 4.16998 12.7414 4.36166 12.7197 4.61483C12.698 4.86799 12.6872 5.05967 12.6872 5.18987C12.6438 5.46474 12.6148 5.8481 12.6004 6.33996C12.6148 6.64376 12.6799 6.87523 12.7957 7.03436C12.9837 7.25136 13.3092 7.35986 13.7722 7.35986V8.50995Z"
fill=
"#424242"
/>
</svg>
src/vs/workbench/parts/preferences/electron-browser/preferences.contribution.ts
浏览文件 @
0ea57dc6
...
@@ -23,7 +23,7 @@ import {
...
@@ -23,7 +23,7 @@ import {
IKeybindingsEditor
,
IPreferencesSearchService
,
CONTEXT_KEYBINDING_FOCUS
,
CONTEXT_KEYBINDINGS_EDITOR
,
CONTEXT_KEYBINDINGS_SEARCH_FOCUS
,
KEYBINDINGS_EDITOR_COMMAND_DEFINE
,
KEYBINDINGS_EDITOR_COMMAND_REMOVE
,
KEYBINDINGS_EDITOR_COMMAND_SEARCH
,
KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS
,
KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE
,
IKeybindingsEditor
,
IPreferencesSearchService
,
CONTEXT_KEYBINDING_FOCUS
,
CONTEXT_KEYBINDINGS_EDITOR
,
CONTEXT_KEYBINDINGS_SEARCH_FOCUS
,
KEYBINDINGS_EDITOR_COMMAND_DEFINE
,
KEYBINDINGS_EDITOR_COMMAND_REMOVE
,
KEYBINDINGS_EDITOR_COMMAND_SEARCH
,
KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS
,
KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE
,
KEYBINDINGS_EDITOR_COMMAND_COPY
,
KEYBINDINGS_EDITOR_COMMAND_RESET
,
KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND
,
KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR
,
KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS
,
KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
SETTINGS_EDITOR_COMMAND_SEARCH
,
CONTEXT_SETTINGS_EDITOR
,
SETTINGS_EDITOR_COMMAND_FOCUS_FILE
,
KEYBINDINGS_EDITOR_COMMAND_COPY
,
KEYBINDINGS_EDITOR_COMMAND_RESET
,
KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND
,
KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR
,
KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS
,
KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
SETTINGS_EDITOR_COMMAND_SEARCH
,
CONTEXT_SETTINGS_EDITOR
,
SETTINGS_EDITOR_COMMAND_FOCUS_FILE
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING
,
SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH
,
CONTEXT_TOC_ROW_FOCUS
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING
,
SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH
,
CONTEXT_TOC_ROW_FOCUS
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
,
KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS
,
KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
,
KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS
,
KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
,
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IInstantiationService
,
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
,
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IWorkbenchContributionsRegistry
,
Extensions
as
WorkbenchExtensions
}
from
'
vs/workbench/common/contributions
'
;
import
{
IWorkbenchContributionsRegistry
,
Extensions
as
WorkbenchExtensions
}
from
'
vs/workbench/common/contributions
'
;
...
@@ -566,6 +566,20 @@ const showContextMenuCommand = new ShowContextMenuCommand({
...
@@ -566,6 +566,20 @@ const showContextMenuCommand = new ShowContextMenuCommand({
});
});
showContextMenuCommand
.
register
();
showContextMenuCommand
.
register
();
CommandsRegistry
.
registerCommand
(
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
,
serviceAccessor
=>
{
const
control
=
serviceAccessor
.
get
(
IEditorService
).
activeControl
as
SettingsEditor2
;
if
(
control
instanceof
SettingsEditor2
)
{
control
.
focusSearch
(
`@
${
MODIFIED_SETTING_TAG
}
`
);
}
});
CommandsRegistry
.
registerCommand
(
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
,
serviceAccessor
=>
{
const
control
=
serviceAccessor
.
get
(
IEditorService
).
activeControl
as
SettingsEditor2
;
if
(
control
instanceof
SettingsEditor2
)
{
control
.
focusSearch
(
`@tag:usesOnlineServices`
);
}
});
// Preferences menu
// Preferences menu
MenuRegistry
.
appendMenuItem
(
MenuId
.
MenubarPreferencesMenu
,
{
MenuRegistry
.
appendMenuItem
(
MenuId
.
MenubarPreferencesMenu
,
{
...
@@ -585,3 +599,39 @@ MenuRegistry.appendMenuItem(MenuId.MenubarPreferencesMenu, {
...
@@ -585,3 +599,39 @@ MenuRegistry.appendMenuItem(MenuId.MenubarPreferencesMenu, {
},
},
order
:
1
order
:
1
});
});
// Editor tool items
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
command
:
{
id
:
OpenSettingsJsonAction
.
ID
,
title
:
OpenSettingsJsonAction
.
LABEL
,
iconLocation
:
{
dark
:
URI
.
parse
(
require
.
toUrl
(
'
vs/workbench/parts/preferences/electron-browser/media/edit-json-inverse.svg
'
)),
light
:
URI
.
parse
(
require
.
toUrl
(
'
vs/workbench/parts/preferences/electron-browser/media/edit-json.svg
'
))
}
},
group
:
'
navigation
'
,
order
:
1
,
when
:
CONTEXT_SETTINGS_EDITOR
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
command
:
{
id
:
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
,
title
:
nls
.
localize
(
'
filterModifiedLabel
'
,
"
Show modified settings
"
)
},
group
:
'
1_filter
'
,
order
:
1
,
when
:
CONTEXT_SETTINGS_EDITOR
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
command
:
{
id
:
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
,
title
:
nls
.
localize
(
'
filterOnlineServicesLabel
'
,
"
Show settings for online services
"
),
},
group
:
'
1_filter
'
,
order
:
2
,
when
:
CONTEXT_SETTINGS_EDITOR
});
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
浏览文件 @
0ea57dc6
...
@@ -4,24 +4,21 @@
...
@@ -4,24 +4,21 @@
*--------------------------------------------------------------------------------------------*/
*--------------------------------------------------------------------------------------------*/
import
*
as
DOM
from
'
vs/base/browser/dom
'
;
import
*
as
DOM
from
'
vs/base/browser/dom
'
;
import
{
Separator
}
from
'
vs/base/browser/ui/actionbar/actionbar
'
;
import
{
ToolBar
}
from
'
vs/base/browser/ui/toolbar/toolbar
'
;
import
{
ToolBar
}
from
'
vs/base/browser/ui/toolbar/toolbar
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
{
isArray
}
from
'
vs/base/common/types
'
;
import
{
Delayer
,
ThrottledDelayer
}
from
'
vs/base/common/async
'
;
import
{
Delayer
,
ThrottledDelayer
}
from
'
vs/base/common/async
'
;
import
{
CancellationToken
,
CancellationTokenSource
}
from
'
vs/base/common/cancellation
'
;
import
{
CancellationToken
,
CancellationTokenSource
}
from
'
vs/base/common/cancellation
'
;
import
*
as
collections
from
'
vs/base/common/collections
'
;
import
*
as
collections
from
'
vs/base/common/collections
'
;
import
{
getErrorMessage
,
isPromiseCanceledError
}
from
'
vs/base/common/errors
'
;
import
{
getErrorMessage
,
isPromiseCanceledError
}
from
'
vs/base/common/errors
'
;
import
{
isArray
}
from
'
vs/base/common/types
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
Tree
}
from
'
vs/base/parts/tree/browser/treeImpl
'
;
import
{
Tree
}
from
'
vs/base/parts/tree/browser/treeImpl
'
;
import
{
collapseAll
,
expandAll
}
from
'
vs/base/parts/tree/browser/treeUtils
'
;
import
{
collapseAll
,
expandAll
}
from
'
vs/base/parts/tree/browser/treeUtils
'
;
import
'
vs/css!./media/settingsEditor2
'
;
import
'
vs/css!./media/settingsEditor2
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
ConfigurationTarget
,
IConfigurationOverrides
,
IConfigurationService
,
ConfigurationTargetToString
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
ConfigurationTarget
,
ConfigurationTargetToString
,
IConfigurationOverrides
,
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IContextMenuService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
IContextMenuService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
import
{
WorkbenchTree
}
from
'
vs/platform/list/browser/listService
'
;
import
{
WorkbenchTree
}
from
'
vs/platform/list/browser/listService
'
;
...
@@ -35,18 +32,17 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
...
@@ -35,18 +32,17 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
import
{
BaseEditor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
BaseEditor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
IEditor
,
IEditorMemento
}
from
'
vs/workbench/common/editor
'
;
import
{
IEditor
,
IEditorMemento
}
from
'
vs/workbench/common/editor
'
;
import
{
attachSuggestEnabledInputBoxStyler
,
SuggestEnabledInput
}
from
'
vs/workbench/parts/codeEditor/electron-browser/suggestEnabledInput
'
;
import
{
attachSuggestEnabledInputBoxStyler
,
SuggestEnabledInput
}
from
'
vs/workbench/parts/codeEditor/electron-browser/suggestEnabledInput
'
;
import
{
PreferencesEditor
}
from
'
vs/workbench/parts/preferences/browser/preferencesEditor
'
;
import
{
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
commonlyUsedData
,
tocData
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
commonlyUsedData
,
tocData
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
ISettingLinkClickEvent
,
resolveExtensionsSettings
,
resolveSettingsTree
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTree
,
SimplePagedDataSource
,
ISettingOverrideClickEvent
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
ISettingLinkClickEvent
,
ISettingOverrideClickEvent
,
resolveExtensionsSettings
,
resolveSettingsTree
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTree
,
SimplePagedDataSource
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
ISettingsEditorViewState
,
MODIFIED_SETTING_TAG
,
ONLINE_SERVICES_SETTING_TAG
,
parseQuery
,
SearchResultIdx
,
SearchResultModel
,
SettingsTreeGroupElement
,
SettingsTreeModel
,
SettingsTreeSettingElement
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
getQueryWithoutTags
,
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsTreeGroupElement
,
SettingsTreeModel
,
SettingsTreeSettingElement
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
settingsTextInputBorder
}
from
'
vs/workbench/parts/preferences/browser/settingsWidgets
'
;
import
{
settingsTextInputBorder
}
from
'
vs/workbench/parts/preferences/browser/settingsWidgets
'
;
import
{
TOCRenderer
,
TOCTree
,
TOCTreeModel
}
from
'
vs/workbench/parts/preferences/browser/tocTree
'
;
import
{
TOCRenderer
,
TOCTree
,
TOCTreeModel
}
from
'
vs/workbench/parts/preferences/browser/tocTree
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
CONTEXT_TOC_ROW_FOCUS
,
IPreferencesSearchService
,
ISearchProvider
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
CONTEXT_TOC_ROW_FOCUS
,
IPreferencesSearchService
,
ISearchProvider
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IEditorGroupsService
}
from
'
vs/workbench/services/group/common/editorGroupsService
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISettingsEditorModel
,
ISettingsEditorOptions
,
SettingsEditorOptions
,
SettingValueType
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
IPreferencesService
,
ISearchResult
,
ISettingsEditorModel
,
ISettingsEditorOptions
,
SettingsEditorOptions
,
SettingValueType
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
Settings2EditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
Settings2EditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
import
{
IEditorGroupsService
}
from
'
vs/workbench/services/group/common/editorGroupsService
'
;
const
$
=
DOM
.
$
;
const
$
=
DOM
.
$
;
...
@@ -59,7 +55,7 @@ export class SettingsEditor2 extends BaseEditor {
...
@@ -59,7 +55,7 @@ export class SettingsEditor2 extends BaseEditor {
private
static
SETTING_UPDATE_SLOW_DEBOUNCE
:
number
=
1000
;
private
static
SETTING_UPDATE_SLOW_DEBOUNCE
:
number
=
1000
;
private
static
readonly
SUGGESTIONS
:
string
[]
=
[
private
static
readonly
SUGGESTIONS
:
string
[]
=
[
'
@modified
'
,
'
@tag:usesOnlineServices
'
`@
${
MODIFIED_SETTING_TAG
}
`
,
'
@tag:usesOnlineServices
'
];
];
private
static
shouldSettingUpdateFast
(
type
:
SettingValueType
|
SettingValueType
[]):
boolean
{
private
static
shouldSettingUpdateFast
(
type
:
SettingValueType
|
SettingValueType
[]):
boolean
{
...
@@ -128,7 +124,6 @@ export class SettingsEditor2 extends BaseEditor {
...
@@ -128,7 +124,6 @@ export class SettingsEditor2 extends BaseEditor {
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IPreferencesSearchService
private
preferencesSearchService
:
IPreferencesSearchService
,
@
IPreferencesSearchService
private
preferencesSearchService
:
IPreferencesSearchService
,
@
ILogService
private
logService
:
ILogService
,
@
ILogService
private
logService
:
ILogService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
IContextKeyService
contextKeyService
:
IContextKeyService
,
@
IContextKeyService
contextKeyService
:
IContextKeyService
,
@
IContextMenuService
private
contextMenuService
:
IContextMenuService
,
@
IContextMenuService
private
contextMenuService
:
IContextMenuService
,
@
IStorageService
private
storageService
:
IStorageService
,
@
IStorageService
private
storageService
:
IStorageService
,
...
@@ -415,31 +410,6 @@ export class SettingsEditor2 extends BaseEditor {
...
@@ -415,31 +410,6 @@ export class SettingsEditor2 extends BaseEditor {
actionRunner
:
this
.
actionRunner
actionRunner
:
this
.
actionRunner
}));
}));
const
actions
:
Action
[]
=
[
this
.
instantiationService
.
createInstance
(
FilterByTagAction
,
localize
(
'
filterModifiedLabel
'
,
"
Show modified settings
"
),
MODIFIED_SETTING_TAG
,
this
)
];
if
(
this
.
environmentService
.
appQuality
!==
'
stable
'
)
{
actions
.
push
(
this
.
instantiationService
.
createInstance
(
FilterByTagAction
,
localize
(
'
filterOnlineServicesLabel
'
,
"
Show settings for online services
"
),
ONLINE_SERVICES_SETTING_TAG
,
this
));
actions
.
push
(
new
Separator
());
}
actions
.
push
(
new
Action
(
'
settings.openSettingsJson
'
,
localize
(
'
openSettingsJsonLabel
'
,
"
Open settings.json
"
),
undefined
,
undefined
,
()
=>
{
return
this
.
openSettingsFile
().
then
(
editor
=>
{
const
currentQuery
=
parseQuery
(
this
.
searchWidget
.
getValue
());
if
(
editor
instanceof
PreferencesEditor
&&
currentQuery
)
{
editor
.
focusSearch
(
currentQuery
.
query
);
}
});
}));
this
.
toolbar
.
setActions
([],
actions
)();
this
.
toolbar
.
context
=
<
ISettingsToolbarContext
>
{
target
:
this
.
settingsTargetsWidget
.
settingsTarget
};
this
.
toolbar
.
context
=
<
ISettingsToolbarContext
>
{
target
:
this
.
settingsTargetsWidget
.
settingsTarget
};
}
}
...
@@ -1021,7 +991,7 @@ export class SettingsEditor2 extends BaseEditor {
...
@@ -1021,7 +991,7 @@ export class SettingsEditor2 extends BaseEditor {
private
triggerSearch
(
query
:
string
):
Thenable
<
void
>
{
private
triggerSearch
(
query
:
string
):
Thenable
<
void
>
{
this
.
viewState
.
tagFilters
=
new
Set
<
string
>
();
this
.
viewState
.
tagFilters
=
new
Set
<
string
>
();
if
(
query
)
{
if
(
query
)
{
const
parsedQuery
=
parseQuery
(
query
);
const
parsedQuery
=
getQueryWithoutTags
(
query
);
query
=
parsedQuery
.
query
;
query
=
parsedQuery
.
query
;
parsedQuery
.
tags
.
forEach
(
tag
=>
this
.
viewState
.
tagFilters
.
add
(
tag
));
parsedQuery
.
tags
.
forEach
(
tag
=>
this
.
viewState
.
tagFilters
.
add
(
tag
));
}
}
...
@@ -1271,20 +1241,3 @@ interface ISettingsEditor2State {
...
@@ -1271,20 +1241,3 @@ interface ISettingsEditor2State {
interface
ISettingsToolbarContext
{
interface
ISettingsToolbarContext
{
target
:
SettingsTarget
;
target
:
SettingsTarget
;
}
}
class
FilterByTagAction
extends
Action
{
static
readonly
ID
=
'
settings.filterByTag
'
;
constructor
(
label
:
string
,
private
tag
:
string
,
private
settingsEditor
:
SettingsEditor2
)
{
super
(
FilterByTagAction
.
ID
,
label
,
'
toggle-filter-tag
'
);
}
run
():
Thenable
<
void
>
{
this
.
settingsEditor
.
focusSearch
(
this
.
tag
===
MODIFIED_SETTING_TAG
?
`@
${
this
.
tag
}
`
:
`@tag:
${
this
.
tag
}
`
,
false
);
return
Promise
.
resolve
(
null
);
}
}
src/vs/workbench/parts/preferences/test/browser/settingsTreeModels.test.ts
浏览文件 @
0ea57dc6
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
*--------------------------------------------------------------------------------------------*/
import
*
as
assert
from
'
assert
'
;
import
*
as
assert
from
'
assert
'
;
import
{
settingKeyToDisplayFormat
,
parseQuery
,
IParsedQuery
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
settingKeyToDisplayFormat
,
getQueryWithoutTags
,
IParsedQuery
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
suite
(
'
SettingsTree
'
,
()
=>
{
suite
(
'
SettingsTree
'
,
()
=>
{
test
(
'
settingKeyToDisplayFormat
'
,
()
=>
{
test
(
'
settingKeyToDisplayFormat
'
,
()
=>
{
...
@@ -106,7 +106,7 @@ suite('SettingsTree', () => {
...
@@ -106,7 +106,7 @@ suite('SettingsTree', () => {
test
(
'
parseQuery
'
,
()
=>
{
test
(
'
parseQuery
'
,
()
=>
{
function
testParseQuery
(
input
:
string
,
expected
:
IParsedQuery
)
{
function
testParseQuery
(
input
:
string
,
expected
:
IParsedQuery
)
{
assert
.
deepEqual
(
assert
.
deepEqual
(
parseQuery
(
input
),
getQueryWithoutTags
(
input
),
expected
,
expected
,
input
input
);
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录