@codingame/monaco-vscode-search-service-override 36.2.7 → 37.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +8 -8
- package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/search.common.contribution.js +120 -3
- package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +38 -203
- package/vscode/src/vs/workbench/contrib/search/browser/searchAccessibilityHelp.js +55 -55
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +4 -4
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +17 -17
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +4 -4
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +3 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchQuickAccess.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +28 -28
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +18 -13
- package/vscode/src/vs/workbench/services/search/browser/searchService.js +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
3
3
|
import { isMacintosh } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
4
4
|
import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
-
import { Extensions as Extensions$2
|
|
5
|
+
import { Extensions as Extensions$2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
6
6
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
7
7
|
import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
|
|
8
8
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/extensions';
|
|
@@ -15,7 +15,7 @@ import { SearchView } from '@codingame/monaco-vscode-api/vscode/vs/workbench/con
|
|
|
15
15
|
import { registerContributions } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/search/browser/searchWidget';
|
|
16
16
|
import './searchTreeModel/searchModel.js';
|
|
17
17
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
18
|
-
import { VIEWLET_ID, VIEW_ID, SemanticSearchBehavior, ViewMode
|
|
18
|
+
import { VIEWLET_ID, VIEW_ID, SemanticSearchBehavior, ViewMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/search/common/search';
|
|
19
19
|
import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
|
|
20
20
|
import { assertType } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
21
21
|
import { searchConfigurationNode, getWorkspaceSymbols } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/search/common/search';
|
|
@@ -45,7 +45,7 @@ AccessibleViewRegistry.register(( new SearchAccessibilityHelp()));
|
|
|
45
45
|
const SEARCH_MODE_CONFIG = "search.mode";
|
|
46
46
|
const viewContainer = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
|
|
47
47
|
id: VIEWLET_ID,
|
|
48
|
-
title: ( localize2(
|
|
48
|
+
title: ( localize2(15650, "Search")),
|
|
49
49
|
ctorDescriptor: ( new SyncDescriptor(ViewPaneContainer, [VIEWLET_ID, {
|
|
50
50
|
mergeViewWithContainerWhenSingleView: true
|
|
51
51
|
}])),
|
|
@@ -58,13 +58,13 @@ const viewContainer = ( Registry.as(Extensions.ViewContainersRegistry)).register
|
|
|
58
58
|
const viewDescriptor = {
|
|
59
59
|
id: VIEW_ID,
|
|
60
60
|
containerIcon: searchViewIcon,
|
|
61
|
-
name: ( localize2(
|
|
61
|
+
name: ( localize2(15650, "Search")),
|
|
62
62
|
ctorDescriptor: ( new SyncDescriptor(SearchView)),
|
|
63
63
|
canToggleVisibility: false,
|
|
64
64
|
canMoveView: true,
|
|
65
65
|
openCommandActionDescriptor: {
|
|
66
66
|
id: viewContainer.id,
|
|
67
|
-
mnemonicTitle: ( localize(
|
|
67
|
+
mnemonicTitle: ( localize(15651, "&&Search")),
|
|
68
68
|
keybindings: {
|
|
69
69
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyF,
|
|
70
70
|
when: ( ContextKeyExpr.regex("neverMatch", /doesNotMatch/))
|
|
@@ -78,9 +78,9 @@ quickAccessRegistry.registerQuickAccessProvider({
|
|
|
78
78
|
ctor: TextSearchQuickAccess,
|
|
79
79
|
prefix: TEXT_SEARCH_QUICK_ACCESS_PREFIX,
|
|
80
80
|
contextKey: "inTextSearchPicker",
|
|
81
|
-
placeholder: ( localize(
|
|
81
|
+
placeholder: ( localize(15652, "Search for text in your workspace files.")),
|
|
82
82
|
helpEntries: [{
|
|
83
|
-
description: ( localize(
|
|
83
|
+
description: ( localize(15653, "Search for Text")),
|
|
84
84
|
commandId: SearchCommandIds.QuickTextSearchActionId,
|
|
85
85
|
commandCenterOrder: 25
|
|
86
86
|
}]
|
|
@@ -89,127 +89,31 @@ const configurationRegistry = ( Registry.as(Extensions$2.Configuration));
|
|
|
89
89
|
configurationRegistry.registerConfiguration({
|
|
90
90
|
...searchConfigurationNode,
|
|
91
91
|
properties: {
|
|
92
|
-
[SEARCH_EXCLUDE_CONFIG]: {
|
|
93
|
-
type: "object",
|
|
94
|
-
markdownDescription: ( localize(
|
|
95
|
-
13870,
|
|
96
|
-
"Configure [glob patterns](https://code.visualstudio.com/docs/editor/codebasics#_advanced-search-options) for excluding files and folders in fulltext searches and file search in quick open. To exclude files from the recently opened list in quick open, patterns must be absolute (for example `**/node_modules/**`). Inherits all glob patterns from the `#files.exclude#` setting."
|
|
97
|
-
)),
|
|
98
|
-
default: {
|
|
99
|
-
"**/node_modules": true,
|
|
100
|
-
"**/bower_components": true,
|
|
101
|
-
"**/*.code-search": true
|
|
102
|
-
},
|
|
103
|
-
additionalProperties: {
|
|
104
|
-
anyOf: [{
|
|
105
|
-
type: "boolean",
|
|
106
|
-
description: ( localize(
|
|
107
|
-
13871,
|
|
108
|
-
"The glob pattern to match file paths against. Set to true or false to enable or disable the pattern."
|
|
109
|
-
))
|
|
110
|
-
}, {
|
|
111
|
-
type: "object",
|
|
112
|
-
properties: {
|
|
113
|
-
when: {
|
|
114
|
-
type: "string",
|
|
115
|
-
pattern: "\\w*\\$\\(basename\\)\\w*",
|
|
116
|
-
default: "$(basename).ext",
|
|
117
|
-
markdownDescription: ( localize(
|
|
118
|
-
13872,
|
|
119
|
-
"Additional check on the siblings of a matching file. Use \\$(basename) as variable for the matching file name."
|
|
120
|
-
))
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}]
|
|
124
|
-
},
|
|
125
|
-
scope: ConfigurationScope.RESOURCE
|
|
126
|
-
},
|
|
127
92
|
[SEARCH_MODE_CONFIG]: {
|
|
128
93
|
type: "string",
|
|
129
94
|
enum: ["view", "reuseEditor", "newEditor"],
|
|
130
95
|
default: "view",
|
|
131
96
|
markdownDescription: ( localize(
|
|
132
|
-
|
|
97
|
+
15654,
|
|
133
98
|
"Controls where new `Search: Find in Files` and `Find in Folder` operations occur: either in the Search view, or in a search editor."
|
|
134
99
|
)),
|
|
135
|
-
enumDescriptions: [( localize(
|
|
136
|
-
|
|
100
|
+
enumDescriptions: [( localize(15655, "Search in the Search view, either in the panel or side bars.")), ( localize(
|
|
101
|
+
15656,
|
|
137
102
|
"Search in an existing search editor if present, otherwise in a new search editor."
|
|
138
|
-
)), ( localize(
|
|
139
|
-
},
|
|
140
|
-
"search.useRipgrep": {
|
|
141
|
-
type: "boolean",
|
|
142
|
-
description: ( localize(
|
|
143
|
-
13877,
|
|
144
|
-
"This setting is deprecated and now falls back on \"search.usePCRE2\"."
|
|
145
|
-
)),
|
|
146
|
-
deprecationMessage: ( localize(
|
|
147
|
-
13878,
|
|
148
|
-
"Deprecated. Consider \"search.usePCRE2\" for advanced regex feature support."
|
|
149
|
-
)),
|
|
150
|
-
default: true
|
|
151
|
-
},
|
|
152
|
-
"search.maintainFileSearchCache": {
|
|
153
|
-
type: "boolean",
|
|
154
|
-
deprecationMessage: ( localize(
|
|
155
|
-
13879,
|
|
156
|
-
"The search cache is kept in the extension host which never shuts down, so this setting is no longer needed."
|
|
157
|
-
)),
|
|
158
|
-
description: ( localize(
|
|
159
|
-
13880,
|
|
160
|
-
"When enabled, the searchService process will be kept alive instead of being shut down after an hour of inactivity. This will keep the file search cache in memory."
|
|
161
|
-
)),
|
|
162
|
-
default: false
|
|
163
|
-
},
|
|
164
|
-
"search.useIgnoreFiles": {
|
|
165
|
-
type: "boolean",
|
|
166
|
-
markdownDescription: ( localize(
|
|
167
|
-
13881,
|
|
168
|
-
"Controls whether to use `.gitignore` and `.ignore` files when searching for files."
|
|
169
|
-
)),
|
|
170
|
-
default: true,
|
|
171
|
-
scope: ConfigurationScope.RESOURCE
|
|
172
|
-
},
|
|
173
|
-
"search.useGlobalIgnoreFiles": {
|
|
174
|
-
type: "boolean",
|
|
175
|
-
markdownDescription: ( localize(
|
|
176
|
-
13882,
|
|
177
|
-
"Controls whether to use your global gitignore file (for example, from `$HOME/.config/git/ignore`) when searching for files. Requires {0} to be enabled.",
|
|
178
|
-
"`#search.useIgnoreFiles#`"
|
|
179
|
-
)),
|
|
180
|
-
default: false,
|
|
181
|
-
scope: ConfigurationScope.RESOURCE
|
|
182
|
-
},
|
|
183
|
-
"search.useParentIgnoreFiles": {
|
|
184
|
-
type: "boolean",
|
|
185
|
-
markdownDescription: ( localize(
|
|
186
|
-
13883,
|
|
187
|
-
"Controls whether to use `.gitignore` and `.ignore` files in parent directories when searching for files. Requires {0} to be enabled.",
|
|
188
|
-
"`#search.useIgnoreFiles#`"
|
|
189
|
-
)),
|
|
190
|
-
default: false,
|
|
191
|
-
scope: ConfigurationScope.RESOURCE
|
|
103
|
+
)), ( localize(15657, "Search in a new search editor."))]
|
|
192
104
|
},
|
|
193
105
|
"search.quickOpen.includeSymbols": {
|
|
194
106
|
type: "boolean",
|
|
195
107
|
description: ( localize(
|
|
196
|
-
|
|
108
|
+
15658,
|
|
197
109
|
"Whether to include results from a global symbol search in the file results for Quick Open."
|
|
198
110
|
)),
|
|
199
111
|
default: false
|
|
200
112
|
},
|
|
201
|
-
"search.ripgrep.maxThreads": {
|
|
202
|
-
type: "number",
|
|
203
|
-
description: ( localize(
|
|
204
|
-
13885,
|
|
205
|
-
"Number of threads to use for searching. When set to 0, the engine automatically determines this value."
|
|
206
|
-
)),
|
|
207
|
-
default: 0
|
|
208
|
-
},
|
|
209
113
|
"search.quickOpen.includeHistory": {
|
|
210
114
|
type: "boolean",
|
|
211
115
|
description: ( localize(
|
|
212
|
-
|
|
116
|
+
15659,
|
|
213
117
|
"Whether to include results from recently opened files in the file results for Quick Open."
|
|
214
118
|
)),
|
|
215
119
|
default: true,
|
|
@@ -222,70 +126,36 @@ configurationRegistry.registerConfiguration({
|
|
|
222
126
|
enum: ["default", "recency"],
|
|
223
127
|
default: "default",
|
|
224
128
|
enumDescriptions: [( localize(
|
|
225
|
-
|
|
129
|
+
15660,
|
|
226
130
|
"History entries are sorted by relevance based on the filter value used. More relevant entries appear first."
|
|
227
131
|
)), ( localize(
|
|
228
|
-
|
|
132
|
+
15661,
|
|
229
133
|
"History entries are sorted by recency. More recently opened entries appear first."
|
|
230
134
|
))],
|
|
231
135
|
description: ( localize(
|
|
232
|
-
|
|
136
|
+
15662,
|
|
233
137
|
"Controls sorting order of editor history in quick open when filtering."
|
|
234
138
|
))
|
|
235
139
|
},
|
|
236
|
-
"search.followSymlinks": {
|
|
237
|
-
type: "boolean",
|
|
238
|
-
description: ( localize(13890, "Controls whether to follow symlinks while searching.")),
|
|
239
|
-
default: true
|
|
240
|
-
},
|
|
241
|
-
"search.smartCase": {
|
|
242
|
-
type: "boolean",
|
|
243
|
-
description: ( localize(
|
|
244
|
-
13891,
|
|
245
|
-
"Search case-insensitively if the pattern is all lowercase, otherwise, search case-sensitively."
|
|
246
|
-
)),
|
|
247
|
-
default: false
|
|
248
|
-
},
|
|
249
140
|
"search.globalFindClipboard": {
|
|
250
141
|
type: "boolean",
|
|
251
142
|
default: false,
|
|
252
143
|
description: ( localize(
|
|
253
|
-
|
|
144
|
+
15663,
|
|
254
145
|
"Controls whether the Search view should read or modify the shared find clipboard on macOS."
|
|
255
146
|
)),
|
|
256
147
|
included: isMacintosh
|
|
257
148
|
},
|
|
258
|
-
"search.location": {
|
|
259
|
-
type: "string",
|
|
260
|
-
enum: ["sidebar", "panel"],
|
|
261
|
-
default: "sidebar",
|
|
262
|
-
description: ( localize(
|
|
263
|
-
13893,
|
|
264
|
-
"Controls whether the search will be shown as a view in the sidebar or as a panel in the panel area for more horizontal space."
|
|
265
|
-
)),
|
|
266
|
-
deprecationMessage: ( localize(
|
|
267
|
-
13894,
|
|
268
|
-
"This setting is deprecated. You can drag the search icon to a new location instead."
|
|
269
|
-
))
|
|
270
|
-
},
|
|
271
|
-
"search.maxResults": {
|
|
272
|
-
type: ["number", "null"],
|
|
273
|
-
default: DEFAULT_MAX_SEARCH_RESULTS,
|
|
274
|
-
markdownDescription: ( localize(
|
|
275
|
-
13895,
|
|
276
|
-
"Controls the maximum number of search results, this can be set to `null` (empty) to return unlimited results."
|
|
277
|
-
))
|
|
278
|
-
},
|
|
279
149
|
"search.collapseResults": {
|
|
280
150
|
type: "string",
|
|
281
151
|
enum: ["auto", "alwaysCollapse", "alwaysExpand"],
|
|
282
152
|
enumDescriptions: [( localize(
|
|
283
|
-
|
|
153
|
+
15664,
|
|
284
154
|
"Files with less than 10 results are expanded. Others are collapsed."
|
|
285
155
|
)), "", ""],
|
|
286
156
|
default: "alwaysExpand",
|
|
287
157
|
description: ( localize(
|
|
288
|
-
|
|
158
|
+
15665,
|
|
289
159
|
"Controls whether the search results will be collapsed or expanded."
|
|
290
160
|
))
|
|
291
161
|
},
|
|
@@ -293,37 +163,25 @@ configurationRegistry.registerConfiguration({
|
|
|
293
163
|
type: "boolean",
|
|
294
164
|
default: true,
|
|
295
165
|
description: ( localize(
|
|
296
|
-
|
|
166
|
+
15666,
|
|
297
167
|
"Controls whether to open Replace Preview when selecting or replacing a match."
|
|
298
168
|
))
|
|
299
169
|
},
|
|
300
170
|
"search.showLineNumbers": {
|
|
301
171
|
type: "boolean",
|
|
302
172
|
default: false,
|
|
303
|
-
description: ( localize(
|
|
304
|
-
},
|
|
305
|
-
"search.usePCRE2": {
|
|
306
|
-
type: "boolean",
|
|
307
|
-
default: false,
|
|
308
|
-
description: ( localize(
|
|
309
|
-
13900,
|
|
310
|
-
"Whether to use the PCRE2 regex engine in text search. This enables using some advanced regex features like lookahead and backreferences. However, not all PCRE2 features are supported - only features that are also supported by JavaScript."
|
|
311
|
-
)),
|
|
312
|
-
deprecationMessage: ( localize(
|
|
313
|
-
13901,
|
|
314
|
-
"Deprecated. PCRE2 will be used automatically when using regex features that are only supported by PCRE2."
|
|
315
|
-
))
|
|
173
|
+
description: ( localize(15667, "Controls whether to show line numbers for search results."))
|
|
316
174
|
},
|
|
317
175
|
"search.actionsPosition": {
|
|
318
176
|
type: "string",
|
|
319
177
|
enum: ["auto", "right"],
|
|
320
178
|
enumDescriptions: [( localize(
|
|
321
|
-
|
|
179
|
+
15668,
|
|
322
180
|
"Position the actionbar to the right when the Search view is narrow, and immediately after the content when the Search view is wide."
|
|
323
|
-
)), ( localize(
|
|
181
|
+
)), ( localize(15669, "Always position the actionbar to the right."))],
|
|
324
182
|
default: "right",
|
|
325
183
|
description: ( localize(
|
|
326
|
-
|
|
184
|
+
15670,
|
|
327
185
|
"Controls the positioning of the actionbar on rows in the Search view."
|
|
328
186
|
))
|
|
329
187
|
},
|
|
@@ -331,7 +189,7 @@ configurationRegistry.registerConfiguration({
|
|
|
331
189
|
type: "boolean",
|
|
332
190
|
default: false,
|
|
333
191
|
description: ( localize(
|
|
334
|
-
|
|
192
|
+
15671,
|
|
335
193
|
"Enable seeding search from the word nearest the cursor when the active editor has no selection."
|
|
336
194
|
))
|
|
337
195
|
},
|
|
@@ -339,54 +197,31 @@ configurationRegistry.registerConfiguration({
|
|
|
339
197
|
type: "boolean",
|
|
340
198
|
default: false,
|
|
341
199
|
markdownDescription: ( localize(
|
|
342
|
-
|
|
200
|
+
15672,
|
|
343
201
|
"Update the search query to the editor's selected text when focusing the Search view. This happens either on click or when triggering the `workbench.views.search.focus` command."
|
|
344
202
|
))
|
|
345
203
|
},
|
|
346
|
-
"search.sortOrder": {
|
|
347
|
-
type: "string",
|
|
348
|
-
enum: [
|
|
349
|
-
SearchSortOrder.Default,
|
|
350
|
-
SearchSortOrder.FileNames,
|
|
351
|
-
SearchSortOrder.Type,
|
|
352
|
-
SearchSortOrder.Modified,
|
|
353
|
-
SearchSortOrder.CountDescending,
|
|
354
|
-
SearchSortOrder.CountAscending
|
|
355
|
-
],
|
|
356
|
-
default: SearchSortOrder.Default,
|
|
357
|
-
enumDescriptions: [( localize(
|
|
358
|
-
13907,
|
|
359
|
-
"Results are sorted by folder and file names, in alphabetical order."
|
|
360
|
-
)), ( localize(
|
|
361
|
-
13908,
|
|
362
|
-
"Results are sorted by file names ignoring folder order, in alphabetical order."
|
|
363
|
-
)), ( localize(13909, "Results are sorted by file extensions, in alphabetical order.")), ( localize(
|
|
364
|
-
13910,
|
|
365
|
-
"Results are sorted by file last modified date, in descending order."
|
|
366
|
-
)), ( localize(13911, "Results are sorted by count per file, in descending order.")), ( localize(13912, "Results are sorted by count per file, in ascending order."))],
|
|
367
|
-
description: ( localize(13913, "Controls sorting order of search results."))
|
|
368
|
-
},
|
|
369
204
|
"search.decorations.colors": {
|
|
370
205
|
type: "boolean",
|
|
371
|
-
description: ( localize(
|
|
206
|
+
description: ( localize(15673, "Controls whether search file decorations should use colors.")),
|
|
372
207
|
default: true
|
|
373
208
|
},
|
|
374
209
|
"search.decorations.badges": {
|
|
375
210
|
type: "boolean",
|
|
376
|
-
description: ( localize(
|
|
211
|
+
description: ( localize(15674, "Controls whether search file decorations should use badges.")),
|
|
377
212
|
default: true
|
|
378
213
|
},
|
|
379
214
|
"search.defaultViewMode": {
|
|
380
215
|
type: "string",
|
|
381
216
|
enum: [ViewMode.Tree, ViewMode.List],
|
|
382
217
|
default: ViewMode.List,
|
|
383
|
-
enumDescriptions: [( localize(
|
|
384
|
-
description: ( localize(
|
|
218
|
+
enumDescriptions: [( localize(15675, "Shows search results as a tree.")), ( localize(15676, "Shows search results as a list."))],
|
|
219
|
+
description: ( localize(15677, "Controls the default search result view mode."))
|
|
385
220
|
},
|
|
386
221
|
"search.quickAccess.preserveInput": {
|
|
387
222
|
type: "boolean",
|
|
388
223
|
description: ( localize(
|
|
389
|
-
|
|
224
|
+
15678,
|
|
390
225
|
"Controls whether the last typed input to Quick Search should be restored when opening it the next time."
|
|
391
226
|
)),
|
|
392
227
|
default: false
|
|
@@ -394,7 +229,7 @@ configurationRegistry.registerConfiguration({
|
|
|
394
229
|
"search.experimental.closedNotebookRichContentResults": {
|
|
395
230
|
type: "boolean",
|
|
396
231
|
description: ( localize(
|
|
397
|
-
|
|
232
|
+
15679,
|
|
398
233
|
"Show notebook editor rich content results for closed notebooks. Please refresh your search results after changing this setting."
|
|
399
234
|
)),
|
|
400
235
|
default: false
|
|
@@ -403,7 +238,7 @@ configurationRegistry.registerConfiguration({
|
|
|
403
238
|
type: "boolean",
|
|
404
239
|
default: false,
|
|
405
240
|
markdownDescription: ( localize(
|
|
406
|
-
|
|
241
|
+
15680,
|
|
407
242
|
"When enabled, the legacy `findFiles` extension API honors the user's `#search.useIgnoreFiles#` setting instead of always ignoring `.gitignore`. Extensions that explicitly pass `null` as the `exclude` argument still get unfiltered results. Telemetry is emitted regardless of this setting to help decide future defaults."
|
|
408
243
|
)),
|
|
409
244
|
tags: ["experimental"]
|
|
@@ -411,7 +246,7 @@ configurationRegistry.registerConfiguration({
|
|
|
411
246
|
"search.searchView.semanticSearchBehavior": {
|
|
412
247
|
type: "string",
|
|
413
248
|
description: ( localize(
|
|
414
|
-
|
|
249
|
+
15681,
|
|
415
250
|
"Controls the behavior of the semantic search results displayed in the Search view."
|
|
416
251
|
)),
|
|
417
252
|
enum: [
|
|
@@ -420,15 +255,15 @@ configurationRegistry.registerConfiguration({
|
|
|
420
255
|
SemanticSearchBehavior.Auto
|
|
421
256
|
],
|
|
422
257
|
default: SemanticSearchBehavior.Manual,
|
|
423
|
-
enumDescriptions: [( localize(
|
|
424
|
-
|
|
258
|
+
enumDescriptions: [( localize(15682, "Only request semantic search results manually.")), ( localize(
|
|
259
|
+
15683,
|
|
425
260
|
"Request semantic results automatically only when text search results are empty."
|
|
426
|
-
)), ( localize(
|
|
261
|
+
)), ( localize(15684, "Request semantic results automatically with every search."))],
|
|
427
262
|
tags: ["preview"]
|
|
428
263
|
},
|
|
429
264
|
"search.searchView.keywordSuggestions": {
|
|
430
265
|
type: "boolean",
|
|
431
|
-
description: ( localize(
|
|
266
|
+
description: ( localize(15685, "Enable keyword suggestions in the Search view.")),
|
|
432
267
|
default: false,
|
|
433
268
|
tags: ["preview"]
|
|
434
269
|
}
|
|
@@ -44,154 +44,154 @@ class SearchAccessibilityHelpProvider extends Disposable {
|
|
|
44
44
|
const content = [];
|
|
45
45
|
const resultCount = this._searchModel.searchResult.count();
|
|
46
46
|
const isReplaceMode = this._searchModel.replaceActive;
|
|
47
|
-
content.push(( localize(
|
|
47
|
+
content.push(( localize(15686, "Accessibility Help: Search Across Files")));
|
|
48
48
|
content.push(( localize(
|
|
49
|
-
|
|
49
|
+
15687,
|
|
50
50
|
"You are in the Search view. This workspace-wide tool lets you find text or patterns across all files in your workspace."
|
|
51
51
|
)));
|
|
52
52
|
content.push("");
|
|
53
|
-
content.push(( localize(
|
|
54
|
-
content.push(( localize(
|
|
53
|
+
content.push(( localize(15688, "Current Search Status:")));
|
|
54
|
+
content.push(( localize(15689, "You are searching across your workspace.")));
|
|
55
55
|
if (resultCount !== undefined) {
|
|
56
56
|
if (resultCount === 0) {
|
|
57
|
-
content.push(( localize(
|
|
57
|
+
content.push(( localize(15690, "No results found. Check your search term or adjust options below.")));
|
|
58
58
|
} else {
|
|
59
|
-
content.push(( localize(
|
|
59
|
+
content.push(( localize(15691, "{0} results found.", resultCount)));
|
|
60
60
|
}
|
|
61
61
|
} else {
|
|
62
|
-
content.push(( localize(
|
|
62
|
+
content.push(( localize(15692, "Type a search term to find results.")));
|
|
63
63
|
}
|
|
64
64
|
content.push("");
|
|
65
|
-
content.push(( localize(
|
|
65
|
+
content.push(( localize(15693, "Inside the Search Input (What It Does):")));
|
|
66
66
|
content.push(( localize(
|
|
67
|
-
|
|
67
|
+
15694,
|
|
68
68
|
"While you are in the Search input, your focus stays in the field. You can type your search term and navigate the search results list without leaving the input. When you navigate to a result, the editor updates in the background to show the match."
|
|
69
69
|
)));
|
|
70
70
|
content.push("");
|
|
71
|
-
content.push(( localize(
|
|
72
|
-
content.push(( localize(
|
|
71
|
+
content.push(( localize(15695, "What You Hear Each Time You Move to a Result:")));
|
|
72
|
+
content.push(( localize(15696, "Each navigation step gives you a complete spoken update:")));
|
|
73
73
|
content.push(( localize(
|
|
74
|
-
|
|
74
|
+
15697,
|
|
75
75
|
"1) The file name where the result is located is read first, so you know which file contains the match."
|
|
76
76
|
)));
|
|
77
77
|
content.push(( localize(
|
|
78
|
-
|
|
78
|
+
15698,
|
|
79
79
|
"2) The full line that contains the match is read, so you get immediate context."
|
|
80
80
|
)));
|
|
81
81
|
content.push(( localize(
|
|
82
|
-
|
|
82
|
+
15699,
|
|
83
83
|
"3) Your position among the results is announced, so you know how far you are through the results."
|
|
84
84
|
)));
|
|
85
85
|
content.push(( localize(
|
|
86
|
-
|
|
86
|
+
15700,
|
|
87
87
|
"4) The exact line and column are announced, so you know precisely where the match is in the file."
|
|
88
88
|
)));
|
|
89
89
|
content.push("");
|
|
90
|
-
content.push(( localize(
|
|
90
|
+
content.push(( localize(15701, "Focus Behavior (Important):")));
|
|
91
91
|
content.push(( localize(
|
|
92
|
-
|
|
92
|
+
15702,
|
|
93
93
|
"When you navigate from the Search input, the editor updates while your focus stays in the search field. This is intentional, so you can keep refining your search without losing your place."
|
|
94
94
|
)));
|
|
95
95
|
content.push(( localize(
|
|
96
|
-
|
|
96
|
+
15703,
|
|
97
97
|
"If you press Tab, focus moves to the results tree below the input, and you can navigate results and open them. When you press Enter on a result, the match is shown in the editor."
|
|
98
98
|
)));
|
|
99
99
|
content.push(( localize(
|
|
100
|
-
|
|
100
|
+
15704,
|
|
101
101
|
"If you want to focus the editor to edit text at a search result, use {0} to navigate to the result and automatically focus the editor there.",
|
|
102
102
|
"<keybinding:search.action.focusNextSearchResult>"
|
|
103
103
|
)));
|
|
104
104
|
content.push("");
|
|
105
|
-
content.push(( localize(
|
|
105
|
+
content.push(( localize(15705, "Keyboard Navigation Summary:")));
|
|
106
106
|
content.push("");
|
|
107
|
-
content.push(( localize(
|
|
108
|
-
content.push(( localize(
|
|
109
|
-
content.push(( localize(
|
|
107
|
+
content.push(( localize(15706, "While focused IN the Search input:")));
|
|
108
|
+
content.push(( localize(15707, "- Enter: Run or refresh the search.")));
|
|
109
|
+
content.push(( localize(15708, "- Tab: Move focus to the results tree below.")));
|
|
110
110
|
content.push("");
|
|
111
|
-
content.push(( localize(
|
|
112
|
-
content.push(( localize(
|
|
111
|
+
content.push(( localize(15709, "Navigating search results:")));
|
|
112
|
+
content.push(( localize(15710, "- Down Arrow: Navigate through results in the tree.")));
|
|
113
113
|
content.push(( localize(
|
|
114
|
-
|
|
114
|
+
15711,
|
|
115
115
|
"- Enter (when a result is focused): Navigate to that result in the editor."
|
|
116
116
|
)));
|
|
117
117
|
content.push("");
|
|
118
|
-
content.push(( localize(
|
|
118
|
+
content.push(( localize(15712, "From anywhere (Search input or editor):")));
|
|
119
119
|
content.push(( localize(
|
|
120
|
-
|
|
120
|
+
15713,
|
|
121
121
|
"- {0}: Jump to the next result and focus the editor.",
|
|
122
122
|
"<keybinding:search.action.focusNextSearchResult>"
|
|
123
123
|
)));
|
|
124
124
|
content.push(( localize(
|
|
125
|
-
|
|
125
|
+
15714,
|
|
126
126
|
"- {0}: Jump to the previous result and focus the editor.",
|
|
127
127
|
"<keybinding:search.action.focusPreviousSearchResult>"
|
|
128
128
|
)));
|
|
129
129
|
content.push("");
|
|
130
|
-
content.push(( localize(
|
|
131
|
-
content.push(( localize(
|
|
132
|
-
content.push(( localize(
|
|
133
|
-
content.push(( localize(
|
|
130
|
+
content.push(( localize(15715, "Search Options in the Dialog:")));
|
|
131
|
+
content.push(( localize(15716, "- Match Case: Only exact case matches are included.")));
|
|
132
|
+
content.push(( localize(15717, "- Whole Word: Only full words are matched.")));
|
|
133
|
+
content.push(( localize(15718, "- Regular Expression: Use pattern matching for advanced searches.")));
|
|
134
134
|
content.push("");
|
|
135
135
|
if (isReplaceMode) {
|
|
136
|
-
content.push(( localize(
|
|
137
|
-
content.push(( localize(
|
|
138
|
-
content.push(( localize(
|
|
136
|
+
content.push(( localize(15719, "Replace Across Files (Replace Mode Active):")));
|
|
137
|
+
content.push(( localize(15720, "Tab to the Replace input and type your replacement text.")));
|
|
138
|
+
content.push(( localize(15721, "You can replace individual matches or all matches at once.")));
|
|
139
139
|
content.push(( localize(
|
|
140
|
-
|
|
140
|
+
15722,
|
|
141
141
|
"Warning: This action affects multiple files. Make sure you have searched for exactly what you want to replace."
|
|
142
142
|
)));
|
|
143
143
|
content.push("");
|
|
144
144
|
}
|
|
145
145
|
content.push(( localize(
|
|
146
|
-
|
|
146
|
+
15723,
|
|
147
147
|
"Settings You Can Adjust ({0} opens Settings):",
|
|
148
148
|
"<keybinding:workbench.action.openSettings>"
|
|
149
149
|
)));
|
|
150
|
-
content.push(( localize(
|
|
150
|
+
content.push(( localize(15724, "These settings affect how Search across files behaves.")));
|
|
151
151
|
content.push(( localize(
|
|
152
|
-
|
|
152
|
+
15725,
|
|
153
153
|
"- `accessibility.verbosity.find`: Controls whether the Search input announces the Accessibility Help hint."
|
|
154
154
|
)));
|
|
155
155
|
content.push(( localize(
|
|
156
|
-
|
|
156
|
+
15726,
|
|
157
157
|
"- `search.smartCase`: Use case-insensitive search if your search term is all lowercase."
|
|
158
158
|
)));
|
|
159
|
-
content.push(( localize(
|
|
159
|
+
content.push(( localize(15727, "- `search.searchOnType`: Search all files as you type.")));
|
|
160
160
|
content.push(( localize(
|
|
161
|
-
|
|
161
|
+
15728,
|
|
162
162
|
"- `search.searchOnTypeDebouncePeriod`: Wait time in milliseconds before searching as you type."
|
|
163
163
|
)));
|
|
164
|
-
content.push(( localize(
|
|
165
|
-
content.push(( localize(
|
|
166
|
-
content.push(( localize(
|
|
164
|
+
content.push(( localize(15729, "- `search.maxResults`: Maximum number of search results to show.")));
|
|
165
|
+
content.push(( localize(15730, "- `search.collapseResults`: Expand or collapse results.")));
|
|
166
|
+
content.push(( localize(15731, "- `search.showLineNumbers`: Show line numbers for results.")));
|
|
167
167
|
content.push(( localize(
|
|
168
|
-
|
|
168
|
+
15732,
|
|
169
169
|
"- `search.sortOrder`: Sort results by file name, type, modified time, or match count."
|
|
170
170
|
)));
|
|
171
171
|
content.push(( localize(
|
|
172
|
-
|
|
172
|
+
15733,
|
|
173
173
|
"- `search.searchEditor.defaultNumberOfContextLines`: Number of context lines shown around matches."
|
|
174
174
|
)));
|
|
175
|
-
content.push(( localize(
|
|
176
|
-
content.push(( localize(
|
|
175
|
+
content.push(( localize(15734, "- `search.defaultViewMode`: Show results as list or tree.")));
|
|
176
|
+
content.push(( localize(15735, "- `search.actionsPosition`: Position of action buttons.")));
|
|
177
177
|
if (isReplaceMode) {
|
|
178
178
|
content.push(( localize(
|
|
179
|
-
|
|
179
|
+
15736,
|
|
180
180
|
"- `search.useReplacePreview`: Open preview when replacing matches."
|
|
181
181
|
)));
|
|
182
182
|
}
|
|
183
183
|
if (isMacintosh) {
|
|
184
184
|
content.push("");
|
|
185
|
-
content.push(( localize(
|
|
185
|
+
content.push(( localize(15737, "Platform-Specific Setting (macOS only):")));
|
|
186
186
|
content.push(( localize(
|
|
187
|
-
|
|
187
|
+
15738,
|
|
188
188
|
"- `search.globalFindClipboard`: Uses the shared macOS Find clipboard when available."
|
|
189
189
|
)));
|
|
190
190
|
}
|
|
191
191
|
content.push("");
|
|
192
|
-
content.push(( localize(
|
|
192
|
+
content.push(( localize(15739, "Closing:")));
|
|
193
193
|
content.push(( localize(
|
|
194
|
-
|
|
194
|
+
15740,
|
|
195
195
|
"Press Escape to close Search. Focus returns to the editor, and your search history is preserved."
|
|
196
196
|
)));
|
|
197
197
|
return content.join("\n");
|