Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
f5b5630d
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,发现更多精彩内容 >>
提交
f5b5630d
编写于
11月 07, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Copy settings scope and query when switching from UI to json - Fix #61590
上级
0ea57dc6
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
82 addition
and
38 deletion
+82
-38
src/vs/workbench/parts/preferences/browser/preferencesEditor.ts
.../workbench/parts/preferences/browser/preferencesEditor.ts
+5
-1
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
...workbench/parts/preferences/browser/settingsTreeModels.ts
+1
-1
src/vs/workbench/parts/preferences/common/preferences.ts
src/vs/workbench/parts/preferences/common/preferences.ts
+2
-0
src/vs/workbench/parts/preferences/electron-browser/preferences.contribution.ts
.../preferences/electron-browser/preferences.contribution.ts
+45
-32
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
...nch/parts/preferences/electron-browser/settingsEditor2.ts
+7
-2
src/vs/workbench/parts/preferences/test/browser/settingsTreeModels.test.ts
...parts/preferences/test/browser/settingsTreeModels.test.ts
+2
-2
src/vs/workbench/services/search/node/ripgrepTextSearchEngine.ts
...workbench/services/search/node/ripgrepTextSearchEngine.ts
+20
-0
未找到文件。
src/vs/workbench/parts/preferences/browser/preferencesEditor.ts
浏览文件 @
f5b5630d
...
...
@@ -47,7 +47,7 @@ import { ResourceEditorModel } from 'vs/workbench/common/editor/resourceEditorMo
import
{
PREFERENCES_EDITOR_ID
}
from
'
vs/workbench/parts/files/common/files
'
;
import
{
DefaultSettingsRenderer
,
FolderSettingsRenderer
,
IPreferencesRenderer
,
UserSettingsRenderer
,
WorkspaceSettingsRenderer
}
from
'
vs/workbench/parts/preferences/browser/preferencesRenderers
'
;
import
{
SearchWidget
,
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
IPreferencesSearchService
,
ISearchProvider
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
IPreferencesSearchService
,
ISearchProvider
,
CONTEXT_SETTINGS_JSON_EDITOR
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IEditorGroup
,
IEditorGroupsService
}
from
'
vs/workbench/services/group/common/editorGroupsService
'
;
import
{
IFilterResult
,
IPreferencesService
,
ISearchResult
,
ISetting
,
ISettingsEditorModel
,
ISettingsGroup
,
SettingsEditorOptions
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
...
...
@@ -61,6 +61,7 @@ export class PreferencesEditor extends BaseEditor {
public
static
readonly
ID
:
string
=
PREFERENCES_EDITOR_ID
;
private
defaultSettingsEditorContextKey
:
IContextKey
<
boolean
>
;
private
defaultSettingsJSONEditorContextKey
:
IContextKey
<
boolean
>
;
private
searchFocusContextKey
:
IContextKey
<
boolean
>
;
private
headerContainer
:
HTMLElement
;
private
searchWidget
:
SearchWidget
;
...
...
@@ -98,6 +99,7 @@ export class PreferencesEditor extends BaseEditor {
)
{
super
(
PreferencesEditor
.
ID
,
telemetryService
,
themeService
,
storageService
);
this
.
defaultSettingsEditorContextKey
=
CONTEXT_SETTINGS_EDITOR
.
bindTo
(
this
.
contextKeyService
);
this
.
defaultSettingsJSONEditorContextKey
=
CONTEXT_SETTINGS_JSON_EDITOR
.
bindTo
(
this
.
contextKeyService
);
this
.
searchFocusContextKey
=
CONTEXT_SETTINGS_SEARCH_FOCUS
.
bindTo
(
this
.
contextKeyService
);
this
.
delayedFilterLogging
=
new
Delayer
<
void
>
(
1000
);
this
.
localSearchDelayer
=
new
Delayer
(
100
);
...
...
@@ -154,6 +156,7 @@ export class PreferencesEditor extends BaseEditor {
public
setInput
(
newInput
:
PreferencesEditorInput
,
options
:
SettingsEditorOptions
,
token
:
CancellationToken
):
Thenable
<
void
>
{
this
.
defaultSettingsEditorContextKey
.
set
(
true
);
this
.
defaultSettingsJSONEditorContextKey
.
set
(
true
);
if
(
options
&&
options
.
query
)
{
this
.
focusSearch
(
options
.
query
);
}
...
...
@@ -193,6 +196,7 @@ export class PreferencesEditor extends BaseEditor {
public
clearInput
():
void
{
this
.
defaultSettingsEditorContextKey
.
set
(
false
);
this
.
defaultSettingsJSONEditorContextKey
.
set
(
false
);
this
.
sideBySidePreferencesWidget
.
clearInput
();
this
.
preferencesRenderers
.
onHidden
();
super
.
clearInput
();
...
...
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
浏览文件 @
f5b5630d
...
...
@@ -523,7 +523,7 @@ export interface IParsedQuery {
}
const
tagRegex
=
/
(
^|
\s)
@tag:
(
"
([^
"
]
*
)
"|
[^
"
]\S
*
)
/g
;
export
function
getQueryWithoutTags
(
query
:
string
):
IParsedQuery
{
export
function
parseQuery
(
query
:
string
):
IParsedQuery
{
const
tags
:
string
[]
=
[];
query
=
query
.
replace
(
tagRegex
,
(
_
,
__
,
quotedTag
,
tag
)
=>
{
tags
.
push
(
tag
||
quotedTag
);
...
...
src/vs/workbench/parts/preferences/common/preferences.ts
浏览文件 @
f5b5630d
...
...
@@ -63,6 +63,7 @@ export interface IKeybindingsEditor extends IEditor {
}
export
const
CONTEXT_SETTINGS_EDITOR
=
new
RawContextKey
<
boolean
>
(
'
inSettingsEditor
'
,
false
);
export
const
CONTEXT_SETTINGS_JSON_EDITOR
=
new
RawContextKey
<
boolean
>
(
'
inSettingsJSONEditor
'
,
false
);
export
const
CONTEXT_SETTINGS_SEARCH_FOCUS
=
new
RawContextKey
<
boolean
>
(
'
inSettingsSearch
'
,
false
);
export
const
CONTEXT_TOC_ROW_FOCUS
=
new
RawContextKey
<
boolean
>
(
'
settingsTocRowFocus
'
,
false
);
export
const
CONTEXT_KEYBINDINGS_EDITOR
=
new
RawContextKey
<
boolean
>
(
'
inKeybindings
'
,
false
);
...
...
@@ -79,6 +80,7 @@ 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_SHOW_CONTEXT_MENU
=
'
settings.action.showContextMenu
'
;
export
const
SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON
=
'
settings.switchToJSON
'
;
export
const
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
=
'
settings.filterByModified
'
;
export
const
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
=
'
settings.filterByOnline
'
;
...
...
src/vs/workbench/parts/preferences/electron-browser/preferences.contribution.ts
浏览文件 @
f5b5630d
...
...
@@ -3,40 +3,35 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
KeyChord
,
KeyCode
,
KeyMod
}
from
'
vs/base/common/keyCodes
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
'
vs/css!../browser/media/preferences
'
;
import
{
Command
}
from
'
vs/editor/browser/editorExtensions
'
;
import
{
Context
as
SuggestContext
}
from
'
vs/editor/contrib/suggest/suggest
'
;
import
*
as
nls
from
'
vs/nls
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
KeybindingsRegistry
,
KeybindingWeight
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
IWorkbenchActionRegistry
,
Extensions
}
from
'
vs/workbench/common/actions
'
;
import
{
EditorInput
,
IEditorInputFactory
,
IEditorInputFactoryRegistry
,
Extensions
as
EditorInputExtensions
}
from
'
vs/workbench/common/editor
'
;
import
{
SyncActionDescriptor
,
MenuRegistry
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
KeyMod
,
KeyChord
,
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
MenuId
,
MenuRegistry
,
SyncActionDescriptor
}
from
'
vs/platform/actions/common/actions
'
;
import
{
CommandsRegistry
}
from
'
vs/platform/commands/common/commands
'
;
import
{
ContextKeyExpr
,
RawContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
SyncDescriptor
}
from
'
vs/platform/instantiation/common/descriptors
'
;
import
{
PreferencesEditor
}
from
'
vs/workbench/parts/preferences/browser/preferencesEditor
'
;
import
{
SettingsEditor2
}
from
'
vs/workbench/parts/preferences/electron-browser/settingsEditor2
'
;
import
{
DefaultPreferencesEditorInput
,
PreferencesEditorInput
,
KeybindingsEditorInput
,
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
import
{
KeybindingsEditor
}
from
'
vs/workbench/parts/preferences/browser/keybindingsEditor
'
;
import
{
OpenDefaultKeybindingsFileAction
,
OpenRawDefaultSettingsAction
,
OpenSettingsAction
,
OpenGlobalSettingsAction
,
OpenGlobalKeybindingsFileAction
,
OpenWorkspaceSettingsAction
,
OpenFolderSettingsAction
,
ConfigureLanguageBasedSettingsAction
,
OPEN_FOLDER_SETTINGS_COMMAND
,
OpenGlobalKeybindingsAction
,
OpenSettings2Action
,
OpenSettingsJsonAction
}
from
'
vs/workbench/parts/preferences/browser/preferencesActions
'
;
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
,
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
,
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
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
IInstantiationService
,
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IWorkbenchContributionsRegistry
,
Extensions
as
WorkbenchExtensions
}
from
'
vs/workbench/common/contributions
'
;
import
{
PreferencesContribution
}
from
'
vs/workbench/parts/preferences/common/preferencesContribution
'
;
import
{
ContextKeyExpr
,
RawContextKey
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
CommandsRegistry
}
from
'
vs/platform/commands/common/commands
'
;
import
{
IEditorRegistry
,
EditorDescriptor
,
Extensions
as
EditorExtensions
}
from
'
vs/workbench/browser/editor
'
;
import
{
KeybindingsRegistry
,
KeybindingWeight
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
LifecyclePhase
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
EditorDescriptor
,
Extensions
as
EditorExtensions
,
IEditorRegistry
}
from
'
vs/workbench/browser/editor
'
;
import
{
Extensions
,
IWorkbenchActionRegistry
}
from
'
vs/workbench/common/actions
'
;
import
{
Extensions
as
WorkbenchExtensions
,
IWorkbenchContributionsRegistry
}
from
'
vs/workbench/common/contributions
'
;
import
{
EditorInput
,
Extensions
as
EditorInputExtensions
,
IEditorInputFactory
,
IEditorInputFactoryRegistry
}
from
'
vs/workbench/common/editor
'
;
import
{
KeybindingsEditor
}
from
'
vs/workbench/parts/preferences/browser/keybindingsEditor
'
;
import
{
ConfigureLanguageBasedSettingsAction
,
OpenDefaultKeybindingsFileAction
,
OpenFolderSettingsAction
,
OpenGlobalKeybindingsAction
,
OpenGlobalKeybindingsFileAction
,
OpenGlobalSettingsAction
,
OpenRawDefaultSettingsAction
,
OpenSettings2Action
,
OpenSettingsAction
,
OpenSettingsJsonAction
,
OpenWorkspaceSettingsAction
,
OPEN_FOLDER_SETTINGS_COMMAND
}
from
'
vs/workbench/parts/preferences/browser/preferencesActions
'
;
import
{
PreferencesEditor
}
from
'
vs/workbench/parts/preferences/browser/preferencesEditor
'
;
import
{
CONTEXT_KEYBINDINGS_EDITOR
,
CONTEXT_KEYBINDINGS_SEARCH_FOCUS
,
CONTEXT_KEYBINDING_FOCUS
,
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_JSON_EDITOR
,
CONTEXT_SETTINGS_SEARCH_FOCUS
,
CONTEXT_TOC_ROW_FOCUS
,
IKeybindingsEditor
,
IPreferencesSearchService
,
KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
KEYBINDINGS_EDITOR_COMMAND_COPY
,
KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND
,
KEYBINDINGS_EDITOR_COMMAND_DEFINE
,
KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS
,
KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS
,
KEYBINDINGS_EDITOR_COMMAND_REMOVE
,
KEYBINDINGS_EDITOR_COMMAND_RESET
,
KEYBINDINGS_EDITOR_COMMAND_SEARCH
,
KEYBINDINGS_EDITOR_COMMAND_SHOW_SIMILAR
,
KEYBINDINGS_EDITOR_COMMAND_SORTBY_PRECEDENCE
,
KEYBINDINGS_EDITOR_SHOW_DEFAULT_KEYBINDINGS
,
KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS
,
SETTINGS_EDITOR_COMMAND_EDIT_FOCUSED_SETTING
,
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
,
SETTINGS_EDITOR_COMMAND_FILTER_ONLINE
,
SETTINGS_EDITOR_COMMAND_FOCUS_FILE
,
SETTINGS_EDITOR_COMMAND_FOCUS_NEXT_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_PREVIOUS_SETTING
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH
,
SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_LIST
,
SETTINGS_EDITOR_COMMAND_SEARCH
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
,
SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
PreferencesContribution
}
from
'
vs/workbench/parts/preferences/common/preferencesContribution
'
;
import
{
PreferencesSearchService
}
from
'
vs/workbench/parts/preferences/electron-browser/preferencesSearch
'
;
import
{
SettingsEditor2
}
from
'
vs/workbench/parts/preferences/electron-browser/settingsEditor2
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IPreferencesService
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
Command
}
from
'
vs/editor/browser/editorExtensions
'
;
import
{
Context
as
SuggestContext
}
from
'
vs/editor/contrib/suggest/suggest
'
;
import
{
DefaultPreferencesEditorInput
,
KeybindingsEditorInput
,
PreferencesEditorInput
,
SettingsEditor2Input
}
from
'
vs/workbench/services/preferences/common/preferencesEditorInput
'
;
registerSingleton
(
IPreferencesSearchService
,
PreferencesSearchService
);
...
...
@@ -566,6 +561,15 @@ const showContextMenuCommand = new ShowContextMenuCommand({
});
showContextMenuCommand
.
register
();
CommandsRegistry
.
registerCommand
(
SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON
,
serviceAccessor
=>
{
const
control
=
serviceAccessor
.
get
(
IEditorService
).
activeControl
as
SettingsEditor2
;
if
(
control
instanceof
SettingsEditor2
)
{
return
control
.
switchToSettingsFile
();
}
return
Promise
.
resolve
(
null
);
});
CommandsRegistry
.
registerCommand
(
SETTINGS_EDITOR_COMMAND_FILTER_MODIFIED
,
serviceAccessor
=>
{
const
control
=
serviceAccessor
.
get
(
IEditorService
).
activeControl
as
SettingsEditor2
;
if
(
control
instanceof
SettingsEditor2
)
{
...
...
@@ -604,8 +608,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarPreferencesMenu, {
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
command
:
{
id
:
OpenSettingsJsonAction
.
ID
,
title
:
OpenSettingsJsonAction
.
LABEL
,
id
:
SETTINGS_EDITOR_COMMAND_SWITCH_TO_JSON
,
title
:
nls
.
localize
(
'
openSettingsJson
'
,
"
Open Settings (JSON)
"
)
,
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
'
))
...
...
@@ -613,7 +617,10 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
},
group
:
'
navigation
'
,
order
:
1
,
when
:
CONTEXT_SETTINGS_EDITOR
when
:
ContextKeyExpr
.
and
(
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_JSON_EDITOR
.
toNegated
()
)
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
...
...
@@ -623,7 +630,10 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
},
group
:
'
1_filter
'
,
order
:
1
,
when
:
CONTEXT_SETTINGS_EDITOR
when
:
ContextKeyExpr
.
and
(
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_JSON_EDITOR
.
toNegated
()
)
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorTitle
,
{
...
...
@@ -633,5 +643,8 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
},
group
:
'
1_filter
'
,
order
:
2
,
when
:
CONTEXT_SETTINGS_EDITOR
when
:
ContextKeyExpr
.
and
(
CONTEXT_SETTINGS_EDITOR
,
CONTEXT_SETTINGS_JSON_EDITOR
.
toNegated
()
)
});
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
浏览文件 @
f5b5630d
...
...
@@ -35,7 +35,7 @@ import { attachSuggestEnabledInputBoxStyler, SuggestEnabledInput } from 'vs/work
import
{
SettingsTarget
,
SettingsTargetsWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
commonlyUsedData
,
tocData
}
from
'
vs/workbench/parts/preferences/browser/settingsLayout
'
;
import
{
ISettingLinkClickEvent
,
ISettingOverrideClickEvent
,
resolveExtensionsSettings
,
resolveSettingsTree
,
SettingsDataSource
,
SettingsRenderer
,
SettingsTree
,
SimplePagedDataSource
}
from
'
vs/workbench/parts/preferences/browser/settingsTree
'
;
import
{
getQueryWithoutTags
,
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsTreeGroupElement
,
SettingsTreeModel
,
SettingsTreeSettingElement
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
parseQuery
,
ISettingsEditorViewState
,
SearchResultIdx
,
SearchResultModel
,
SettingsTreeGroupElement
,
SettingsTreeModel
,
SettingsTreeSettingElement
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
settingsTextInputBorder
}
from
'
vs/workbench/parts/preferences/browser/settingsWidgets
'
;
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
,
MODIFIED_SETTING_TAG
,
SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
...
...
@@ -440,6 +440,11 @@ export class SettingsEditor2 extends BaseEditor {
}
}
public
switchToSettingsFile
():
Thenable
<
IEditor
>
{
const
query
=
parseQuery
(
this
.
searchWidget
.
getValue
());
return
this
.
openSettingsFile
(
query
.
query
);
}
private
openSettingsFile
(
query
?:
string
):
Thenable
<
IEditor
>
{
const
currentSettingsTarget
=
this
.
settingsTargetsWidget
.
settingsTarget
;
...
...
@@ -991,7 +996,7 @@ export class SettingsEditor2 extends BaseEditor {
private
triggerSearch
(
query
:
string
):
Thenable
<
void
>
{
this
.
viewState
.
tagFilters
=
new
Set
<
string
>
();
if
(
query
)
{
const
parsedQuery
=
getQueryWithoutTags
(
query
);
const
parsedQuery
=
parseQuery
(
query
);
query
=
parsedQuery
.
query
;
parsedQuery
.
tags
.
forEach
(
tag
=>
this
.
viewState
.
tagFilters
.
add
(
tag
));
}
...
...
src/vs/workbench/parts/preferences/test/browser/settingsTreeModels.test.ts
浏览文件 @
f5b5630d
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
*
as
assert
from
'
assert
'
;
import
{
settingKeyToDisplayFormat
,
getQueryWithoutTags
,
IParsedQuery
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
import
{
settingKeyToDisplayFormat
,
parseQuery
,
IParsedQuery
}
from
'
vs/workbench/parts/preferences/browser/settingsTreeModels
'
;
suite
(
'
SettingsTree
'
,
()
=>
{
test
(
'
settingKeyToDisplayFormat
'
,
()
=>
{
...
...
@@ -106,7 +106,7 @@ suite('SettingsTree', () => {
test
(
'
parseQuery
'
,
()
=>
{
function
testParseQuery
(
input
:
string
,
expected
:
IParsedQuery
)
{
assert
.
deepEqual
(
getQueryWithoutTags
(
input
),
parseQuery
(
input
),
expected
,
input
);
...
...
src/vs/workbench/services/search/node/ripgrepTextSearchEngine.ts
浏览文件 @
f5b5630d
...
...
@@ -434,3 +434,23 @@ export function fixRegexEndingPattern(pattern: string): string {
pattern
.
replace
(
/
\$
$/
,
'
\\
r?$
'
)
:
pattern
;
}
export
function
fixRegexCRMatchingWhitespaceClass
(
pattern
:
string
,
isMultiline
:
boolean
):
string
{
return
isMultiline
?
pattern
.
replace
(
/
([^\\]
|^
)((?:\\\\)
*
)\\
s/
,
(
prefix1
,
prefix2
)
=>
{
return
prefix1
+
prefix2
+
'
(
\\
r?
\\
n|[^
\\
S
\\
r])
'
;
})
:
pattern
.
replace
(
/
([^\\]
|^
)((?:\\\\)
*
)\\
s/
,
(
prefix1
,
prefix2
)
=>
{
return
prefix1
+
prefix2
+
'
[
\\
t
\\
f]
'
;
});
}
export
function
fixRegexCRMatchingNonWordClass
(
pattern
:
string
,
isMultiline
:
boolean
):
string
{
return
isMultiline
?
pattern
.
replace
(
/
([^\\]
|^
)((?:\\\\)
*
)\\
W/
,
(
prefix1
,
prefix2
)
=>
{
return
prefix1
+
prefix2
+
'
(
\\
r?
\\
n|[^
\\
w
\\
r])
'
;
})
:
pattern
.
replace
(
/
([^\\]
|^
)((?:\\\\)
*
)\\
W/
,
(
prefix1
,
prefix2
)
=>
{
return
prefix1
+
prefix2
+
'
[^
\\
w
\\
r]
'
;
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录