@codingame/monaco-vscode-quickaccess-service-override 1.83.7 → 1.83.9
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/external/tslib/tslib.es6.js +11 -0
- package/index.js +1 -1
- package/override/vs/platform/dialogs/common/dialogs.js +8 -0
- package/package.json +2 -2
- package/quickaccess.js +100 -0
- package/vscode/src/vs/base/common/tfIdf.js +138 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +25 -0
- package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +333 -0
- package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +67 -0
- package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +231 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +3 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +88 -0
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +289 -0
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +168 -0
- package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +265 -0
- package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +69 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
|
+
import { CommandsHistory } from '../../../../platform/quickinput/browser/commandsQuickAccess.js';
|
|
4
|
+
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
|
|
5
|
+
import { MenuId, MenuItemAction, Action2, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
6
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
7
|
+
import { raceTimeout, timeout } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
8
|
+
import { AbstractEditorCommandsQuickAccessProvider } from '../../../../editor/contrib/quickAccess/browser/commandsQuickAccess.js';
|
|
9
|
+
import { Language } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
10
|
+
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
11
|
+
import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
|
|
12
|
+
import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
13
|
+
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
14
|
+
import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
|
|
15
|
+
import { DefaultQuickAccessFilterValue } from 'monaco-editor/esm/vs/platform/quickinput/common/quickAccess.js';
|
|
16
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
17
|
+
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
18
|
+
import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
19
|
+
import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
|
|
20
|
+
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
21
|
+
import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService';
|
|
22
|
+
import { TriggerAction } from 'vscode/vscode/vs/platform/quickinput/browser/pickerQuickAccess';
|
|
23
|
+
import { IPreferencesService } from 'vscode/vscode/vs/workbench/services/preferences/common/preferences';
|
|
24
|
+
import { stripIcons } from 'monaco-editor/esm/vs/base/common/iconLabels.js';
|
|
25
|
+
import { isFirefox } from 'monaco-editor/esm/vs/base/browser/browser.js';
|
|
26
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
27
|
+
import { IChatService } from 'vscode/vscode/vs/workbench/contrib/chat/common/chatService';
|
|
28
|
+
import { ASK_QUICK_QUESTION_ACTION_ID } from 'vscode/vscode/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions';
|
|
29
|
+
import { RelatedInformationType, IAiRelatedInformationService } from 'vscode/vscode/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation';
|
|
30
|
+
import { CHAT_OPEN_ACTION_ID } from '../../chat/browser/actions/chatActions.js';
|
|
31
|
+
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
32
|
+
|
|
33
|
+
var CommandsQuickAccessProvider_1;
|
|
34
|
+
let CommandsQuickAccessProvider = class CommandsQuickAccessProvider extends AbstractEditorCommandsQuickAccessProvider {
|
|
35
|
+
static { CommandsQuickAccessProvider_1 = this; }
|
|
36
|
+
static { this.AI_RELATED_INFORMATION_MAX_PICKS = 5; }
|
|
37
|
+
static { this.AI_RELATED_INFORMATION_THRESHOLD = 0.8; }
|
|
38
|
+
static { this.AI_RELATED_INFORMATION_DEBOUNCE = 200; }
|
|
39
|
+
get activeTextEditorControl() { return this.editorService.activeTextEditorControl; }
|
|
40
|
+
get defaultFilterValue() {
|
|
41
|
+
if (this.configuration.preserveInput) {
|
|
42
|
+
return DefaultQuickAccessFilterValue.LAST;
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
constructor(editorService, menuService, extensionService, instantiationService, keybindingService, commandService, telemetryService, dialogService, configurationService, editorGroupService, preferencesService, productService, aiRelatedInformationService, chatService) {
|
|
47
|
+
super({
|
|
48
|
+
showAlias: !Language.isDefaultVariant(),
|
|
49
|
+
noResultsPick: () => ({
|
|
50
|
+
label: ( localizeWithPath(
|
|
51
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
52
|
+
'noCommandResults',
|
|
53
|
+
"No matching commands"
|
|
54
|
+
)),
|
|
55
|
+
commandId: ''
|
|
56
|
+
}),
|
|
57
|
+
}, instantiationService, keybindingService, commandService, telemetryService, dialogService);
|
|
58
|
+
this.editorService = editorService;
|
|
59
|
+
this.menuService = menuService;
|
|
60
|
+
this.extensionService = extensionService;
|
|
61
|
+
this.configurationService = configurationService;
|
|
62
|
+
this.editorGroupService = editorGroupService;
|
|
63
|
+
this.preferencesService = preferencesService;
|
|
64
|
+
this.productService = productService;
|
|
65
|
+
this.aiRelatedInformationService = aiRelatedInformationService;
|
|
66
|
+
this.chatService = chatService;
|
|
67
|
+
this.extensionRegistrationRace = raceTimeout(this.extensionService.whenInstalledExtensionsRegistered(), 800);
|
|
68
|
+
this.useAiRelatedInfo = false;
|
|
69
|
+
this._register(configurationService.onDidChangeConfiguration((e) => this.updateOptions(e)));
|
|
70
|
+
this.updateOptions();
|
|
71
|
+
}
|
|
72
|
+
get configuration() {
|
|
73
|
+
const commandPaletteConfig = this.configurationService.getValue().workbench.commandPalette;
|
|
74
|
+
return {
|
|
75
|
+
preserveInput: commandPaletteConfig.preserveInput,
|
|
76
|
+
experimental: commandPaletteConfig.experimental
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
updateOptions(e) {
|
|
80
|
+
if (e && !e.affectsConfiguration('workbench.commandPalette.experimental')) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const config = this.configuration;
|
|
84
|
+
const suggestedCommandIds = config.experimental.suggestCommands && this.productService.commandPaletteSuggestedCommandIds?.length
|
|
85
|
+
? ( new Set(this.productService.commandPaletteSuggestedCommandIds))
|
|
86
|
+
: undefined;
|
|
87
|
+
this.options.suggestedCommandIds = suggestedCommandIds;
|
|
88
|
+
this.useAiRelatedInfo = config.experimental.enableNaturalLanguageSearch;
|
|
89
|
+
}
|
|
90
|
+
async getCommandPicks(token) {
|
|
91
|
+
await this.extensionRegistrationRace;
|
|
92
|
+
if (token.isCancellationRequested) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
return ( [
|
|
96
|
+
...this.getCodeEditorCommandPicks(),
|
|
97
|
+
...this.getGlobalCommandPicks()
|
|
98
|
+
].map(picks => ({
|
|
99
|
+
...picks,
|
|
100
|
+
buttons: [{
|
|
101
|
+
iconClass: ThemeIcon.asClassName(Codicon.gear),
|
|
102
|
+
tooltip: ( localizeWithPath(
|
|
103
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
104
|
+
'configure keybinding',
|
|
105
|
+
"Configure Keybinding"
|
|
106
|
+
)),
|
|
107
|
+
}],
|
|
108
|
+
trigger: () => {
|
|
109
|
+
this.preferencesService.openGlobalKeybindingSettings(false, { query: `@command:${picks.commandId}` });
|
|
110
|
+
return TriggerAction.CLOSE_PICKER;
|
|
111
|
+
},
|
|
112
|
+
})));
|
|
113
|
+
}
|
|
114
|
+
hasAdditionalCommandPicks(filter, token) {
|
|
115
|
+
if (!this.useAiRelatedInfo
|
|
116
|
+
|| token.isCancellationRequested
|
|
117
|
+
|| filter === ''
|
|
118
|
+
|| !this.aiRelatedInformationService.isEnabled()) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
async getAdditionalCommandPicks(allPicks, picksSoFar, filter, token) {
|
|
124
|
+
if (!this.hasAdditionalCommandPicks(filter, token)) {
|
|
125
|
+
return [];
|
|
126
|
+
}
|
|
127
|
+
let additionalPicks;
|
|
128
|
+
try {
|
|
129
|
+
await timeout(CommandsQuickAccessProvider_1.AI_RELATED_INFORMATION_DEBOUNCE, token);
|
|
130
|
+
additionalPicks = await this.getRelatedInformationPicks(allPicks, picksSoFar, filter, token);
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
if (picksSoFar.length || additionalPicks.length) {
|
|
136
|
+
additionalPicks.push({
|
|
137
|
+
type: 'separator'
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const info = this.chatService.getProviderInfos()[0];
|
|
141
|
+
if (info) {
|
|
142
|
+
additionalPicks.push({
|
|
143
|
+
label: ( localizeWithPath(
|
|
144
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
145
|
+
'askXInChat',
|
|
146
|
+
"Ask {0}: {1}",
|
|
147
|
+
info.displayName,
|
|
148
|
+
filter
|
|
149
|
+
)),
|
|
150
|
+
commandId: this.configuration.experimental.askChatLocation === 'quickChat' ? ASK_QUICK_QUESTION_ACTION_ID : CHAT_OPEN_ACTION_ID,
|
|
151
|
+
args: [filter]
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return additionalPicks;
|
|
155
|
+
}
|
|
156
|
+
async getRelatedInformationPicks(allPicks, picksSoFar, filter, token) {
|
|
157
|
+
const relatedInformation = await this.aiRelatedInformationService.getRelatedInformation(filter, [RelatedInformationType.CommandInformation], token);
|
|
158
|
+
relatedInformation.sort((a, b) => b.weight - a.weight);
|
|
159
|
+
const setOfPicksSoFar = ( new Set(( picksSoFar.map(p => p.commandId))));
|
|
160
|
+
const additionalPicks = ( new Array());
|
|
161
|
+
for (const info of relatedInformation) {
|
|
162
|
+
if (info.weight < CommandsQuickAccessProvider_1.AI_RELATED_INFORMATION_THRESHOLD || additionalPicks.length === CommandsQuickAccessProvider_1.AI_RELATED_INFORMATION_MAX_PICKS) {
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
const pick = allPicks.find(p => p.commandId === info.command && !( setOfPicksSoFar.has(p.commandId)));
|
|
166
|
+
if (pick) {
|
|
167
|
+
additionalPicks.push(pick);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return additionalPicks;
|
|
171
|
+
}
|
|
172
|
+
getGlobalCommandPicks() {
|
|
173
|
+
const globalCommandPicks = [];
|
|
174
|
+
const scopedContextKeyService = this.editorService.activeEditorPane?.scopedContextKeyService || this.editorGroupService.activeGroup.scopedContextKeyService;
|
|
175
|
+
const globalCommandsMenu = this.menuService.createMenu(MenuId.CommandPalette, scopedContextKeyService);
|
|
176
|
+
const globalCommandsMenuActions = globalCommandsMenu.getActions()
|
|
177
|
+
.reduce((r, [, actions]) => [...r, ...actions], [])
|
|
178
|
+
.filter(action => action instanceof MenuItemAction && action.enabled);
|
|
179
|
+
for (const action of globalCommandsMenuActions) {
|
|
180
|
+
let label = (typeof action.item.title === 'string' ? action.item.title : action.item.title.value) || action.item.id;
|
|
181
|
+
const category = typeof action.item.category === 'string' ? action.item.category : action.item.category?.value;
|
|
182
|
+
if (category) {
|
|
183
|
+
label = ( localizeWithPath(
|
|
184
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
185
|
+
'commandWithCategory',
|
|
186
|
+
"{0}: {1}",
|
|
187
|
+
category,
|
|
188
|
+
label
|
|
189
|
+
));
|
|
190
|
+
}
|
|
191
|
+
const aliasLabel = typeof action.item.title !== 'string' ? action.item.title.original : undefined;
|
|
192
|
+
const aliasCategory = (category && action.item.category && typeof action.item.category !== 'string') ? action.item.category.original : undefined;
|
|
193
|
+
const commandAlias = (aliasLabel && category) ?
|
|
194
|
+
aliasCategory ? `${aliasCategory}: ${aliasLabel}` : `${category}: ${aliasLabel}` :
|
|
195
|
+
aliasLabel;
|
|
196
|
+
globalCommandPicks.push({
|
|
197
|
+
commandId: action.item.id,
|
|
198
|
+
commandAlias,
|
|
199
|
+
label: stripIcons(label)
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
globalCommandsMenu.dispose();
|
|
203
|
+
return globalCommandPicks;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
CommandsQuickAccessProvider = CommandsQuickAccessProvider_1 = ( __decorate([
|
|
207
|
+
( __param(0, IEditorService)),
|
|
208
|
+
( __param(1, IMenuService)),
|
|
209
|
+
( __param(2, IExtensionService)),
|
|
210
|
+
( __param(3, IInstantiationService)),
|
|
211
|
+
( __param(4, IKeybindingService)),
|
|
212
|
+
( __param(5, ICommandService)),
|
|
213
|
+
( __param(6, ITelemetryService)),
|
|
214
|
+
( __param(7, IDialogService)),
|
|
215
|
+
( __param(8, IConfigurationService)),
|
|
216
|
+
( __param(9, IEditorGroupsService)),
|
|
217
|
+
( __param(10, IPreferencesService)),
|
|
218
|
+
( __param(11, IProductService)),
|
|
219
|
+
( __param(12, IAiRelatedInformationService)),
|
|
220
|
+
( __param(13, IChatService))
|
|
221
|
+
], CommandsQuickAccessProvider));
|
|
222
|
+
class ShowAllCommandsAction extends Action2 {
|
|
223
|
+
static { this.ID = 'workbench.action.showCommands'; }
|
|
224
|
+
constructor() {
|
|
225
|
+
super({
|
|
226
|
+
id: ShowAllCommandsAction.ID,
|
|
227
|
+
title: { value: ( localizeWithPath(
|
|
228
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
229
|
+
'showTriggerActions',
|
|
230
|
+
"Show All Commands"
|
|
231
|
+
)), original: 'Show All Commands' },
|
|
232
|
+
keybinding: {
|
|
233
|
+
weight: 200 ,
|
|
234
|
+
when: undefined,
|
|
235
|
+
primary: !isFirefox ? ((2048 | 1024 | 46) ) : undefined,
|
|
236
|
+
secondary: [59 ]
|
|
237
|
+
},
|
|
238
|
+
f1: true
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async run(accessor) {
|
|
242
|
+
accessor.get(IQuickInputService).quickAccess.show(CommandsQuickAccessProvider.PREFIX);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
class ClearCommandHistoryAction extends Action2 {
|
|
246
|
+
constructor() {
|
|
247
|
+
super({
|
|
248
|
+
id: 'workbench.action.clearCommandHistory',
|
|
249
|
+
title: { value: ( localizeWithPath(
|
|
250
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
251
|
+
'clearCommandHistory',
|
|
252
|
+
"Clear Command History"
|
|
253
|
+
)), original: 'Clear Command History' },
|
|
254
|
+
f1: true
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
async run(accessor) {
|
|
258
|
+
const configurationService = accessor.get(IConfigurationService);
|
|
259
|
+
const storageService = accessor.get(IStorageService);
|
|
260
|
+
const dialogService = accessor.get(IDialogService);
|
|
261
|
+
const commandHistoryLength = CommandsHistory.getConfiguredCommandHistoryLength(configurationService);
|
|
262
|
+
if (commandHistoryLength > 0) {
|
|
263
|
+
const { confirmed } = await dialogService.confirm({
|
|
264
|
+
type: 'warning',
|
|
265
|
+
message: ( localizeWithPath(
|
|
266
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
267
|
+
'confirmClearMessage',
|
|
268
|
+
"Do you want to clear the history of recently used commands?"
|
|
269
|
+
)),
|
|
270
|
+
detail: ( localizeWithPath(
|
|
271
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
272
|
+
'confirmClearDetail',
|
|
273
|
+
"This action is irreversible!"
|
|
274
|
+
)),
|
|
275
|
+
primaryButton: ( localizeWithPath(
|
|
276
|
+
'vs/workbench/contrib/quickaccess/browser/commandsQuickAccess',
|
|
277
|
+
{ key: 'clearButtonLabel', comment: ['&& denotes a mnemonic'] },
|
|
278
|
+
"&&Clear"
|
|
279
|
+
))
|
|
280
|
+
});
|
|
281
|
+
if (!confirmed) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
CommandsHistory.clearHistory(configurationService, storageService);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export { ClearCommandHistoryAction, CommandsQuickAccessProvider, ShowAllCommandsAction };
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
import { Extensions } from 'monaco-editor/esm/vs/platform/quickinput/common/quickAccess.js';
|
|
3
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
4
|
+
import { HelpQuickAccessProvider } from '../../../../platform/quickinput/browser/helpQuickAccess.js';
|
|
5
|
+
import { ViewQuickAccessProvider, OpenViewPickerAction, QuickAccessViewPickerAction } from './viewQuickAccess.js';
|
|
6
|
+
import { CommandsQuickAccessProvider, ShowAllCommandsAction, ClearCommandHistoryAction } from './commandsQuickAccess.js';
|
|
7
|
+
import { MenuRegistry, MenuId, registerAction2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
8
|
+
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
9
|
+
import { inQuickPickContext, getQuickNavigateHandler } from 'vscode/vscode/vs/workbench/browser/quickaccess';
|
|
10
|
+
import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
|
|
11
|
+
import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
|
|
12
|
+
|
|
13
|
+
const quickAccessRegistry = ( Registry.as(Extensions.Quickaccess));
|
|
14
|
+
quickAccessRegistry.registerQuickAccessProvider({
|
|
15
|
+
ctor: HelpQuickAccessProvider,
|
|
16
|
+
prefix: HelpQuickAccessProvider.PREFIX,
|
|
17
|
+
placeholder: ( localizeWithPath(
|
|
18
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
19
|
+
'helpQuickAccessPlaceholder',
|
|
20
|
+
"Type '{0}' to get help on the actions you can take from here.",
|
|
21
|
+
HelpQuickAccessProvider.PREFIX
|
|
22
|
+
)),
|
|
23
|
+
helpEntries: [{
|
|
24
|
+
description: ( localizeWithPath(
|
|
25
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
26
|
+
'helpQuickAccess',
|
|
27
|
+
"Show all Quick Access Providers"
|
|
28
|
+
)),
|
|
29
|
+
commandCenterOrder: 70,
|
|
30
|
+
commandCenterLabel: ( localizeWithPath(
|
|
31
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
32
|
+
'more',
|
|
33
|
+
'More'
|
|
34
|
+
))
|
|
35
|
+
}]
|
|
36
|
+
});
|
|
37
|
+
quickAccessRegistry.registerQuickAccessProvider({
|
|
38
|
+
ctor: ViewQuickAccessProvider,
|
|
39
|
+
prefix: ViewQuickAccessProvider.PREFIX,
|
|
40
|
+
contextKey: 'inViewsPicker',
|
|
41
|
+
placeholder: ( localizeWithPath(
|
|
42
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
43
|
+
'viewQuickAccessPlaceholder',
|
|
44
|
+
"Type the name of a view, output channel or terminal to open."
|
|
45
|
+
)),
|
|
46
|
+
helpEntries: [{ description: ( localizeWithPath(
|
|
47
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
48
|
+
'viewQuickAccess',
|
|
49
|
+
"Open View"
|
|
50
|
+
)), commandId: OpenViewPickerAction.ID }]
|
|
51
|
+
});
|
|
52
|
+
quickAccessRegistry.registerQuickAccessProvider({
|
|
53
|
+
ctor: CommandsQuickAccessProvider,
|
|
54
|
+
prefix: CommandsQuickAccessProvider.PREFIX,
|
|
55
|
+
contextKey: 'inCommandsPicker',
|
|
56
|
+
placeholder: ( localizeWithPath(
|
|
57
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
58
|
+
'commandsQuickAccessPlaceholder',
|
|
59
|
+
"Type the name of a command to run."
|
|
60
|
+
)),
|
|
61
|
+
helpEntries: [{ description: ( localizeWithPath(
|
|
62
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
63
|
+
'commandsQuickAccess',
|
|
64
|
+
"Show and Run Commands"
|
|
65
|
+
)), commandId: ShowAllCommandsAction.ID, commandCenterOrder: 20 }]
|
|
66
|
+
});
|
|
67
|
+
MenuRegistry.appendMenuItem(MenuId.MenubarViewMenu, {
|
|
68
|
+
group: '1_open',
|
|
69
|
+
command: {
|
|
70
|
+
id: ShowAllCommandsAction.ID,
|
|
71
|
+
title: ( localizeWithPath(
|
|
72
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
73
|
+
{ key: 'miCommandPalette', comment: ['&& denotes a mnemonic'] },
|
|
74
|
+
"&&Command Palette..."
|
|
75
|
+
))
|
|
76
|
+
},
|
|
77
|
+
order: 1
|
|
78
|
+
});
|
|
79
|
+
MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
|
|
80
|
+
group: '1_welcome',
|
|
81
|
+
command: {
|
|
82
|
+
id: ShowAllCommandsAction.ID,
|
|
83
|
+
title: ( localizeWithPath(
|
|
84
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
85
|
+
{ key: 'miShowAllCommands', comment: ['&& denotes a mnemonic'] },
|
|
86
|
+
"Show All Commands"
|
|
87
|
+
))
|
|
88
|
+
},
|
|
89
|
+
order: 2
|
|
90
|
+
});
|
|
91
|
+
MenuRegistry.appendMenuItem(MenuId.MenubarViewMenu, {
|
|
92
|
+
group: '1_open',
|
|
93
|
+
command: {
|
|
94
|
+
id: OpenViewPickerAction.ID,
|
|
95
|
+
title: ( localizeWithPath(
|
|
96
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
97
|
+
{ key: 'miOpenView', comment: ['&& denotes a mnemonic'] },
|
|
98
|
+
"&&Open View..."
|
|
99
|
+
))
|
|
100
|
+
},
|
|
101
|
+
order: 2
|
|
102
|
+
});
|
|
103
|
+
MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {
|
|
104
|
+
group: '5_infile_nav',
|
|
105
|
+
command: {
|
|
106
|
+
id: 'workbench.action.gotoLine',
|
|
107
|
+
title: ( localizeWithPath(
|
|
108
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
109
|
+
{ key: 'miGotoLine', comment: ['&& denotes a mnemonic'] },
|
|
110
|
+
"Go to &&Line/Column..."
|
|
111
|
+
))
|
|
112
|
+
},
|
|
113
|
+
order: 1
|
|
114
|
+
});
|
|
115
|
+
MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
|
|
116
|
+
group: '1_command',
|
|
117
|
+
command: {
|
|
118
|
+
id: ShowAllCommandsAction.ID,
|
|
119
|
+
title: ( localizeWithPath(
|
|
120
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
121
|
+
'commandPalette',
|
|
122
|
+
"Command Palette..."
|
|
123
|
+
))
|
|
124
|
+
},
|
|
125
|
+
order: 1
|
|
126
|
+
});
|
|
127
|
+
MenuRegistry.appendMenuItem(MenuId.EditorContext, {
|
|
128
|
+
group: 'z_commands',
|
|
129
|
+
when: ( EditorContextKeys.editorSimpleInput.toNegated()),
|
|
130
|
+
command: {
|
|
131
|
+
id: ShowAllCommandsAction.ID,
|
|
132
|
+
title: ( localizeWithPath(
|
|
133
|
+
'vs/workbench/contrib/quickaccess/browser/quickAccess.contribution',
|
|
134
|
+
'commandPalette',
|
|
135
|
+
"Command Palette..."
|
|
136
|
+
)),
|
|
137
|
+
},
|
|
138
|
+
order: 1
|
|
139
|
+
});
|
|
140
|
+
registerAction2(ClearCommandHistoryAction);
|
|
141
|
+
registerAction2(ShowAllCommandsAction);
|
|
142
|
+
registerAction2(OpenViewPickerAction);
|
|
143
|
+
registerAction2(QuickAccessViewPickerAction);
|
|
144
|
+
const inViewsPickerContextKey = 'inViewsPicker';
|
|
145
|
+
const inViewsPickerContext = ( ContextKeyExpr.and(inQuickPickContext, ( ContextKeyExpr.has(inViewsPickerContextKey))));
|
|
146
|
+
const viewPickerKeybinding = QuickAccessViewPickerAction.KEYBINDING;
|
|
147
|
+
const quickAccessNavigateNextInViewPickerId = 'workbench.action.quickOpenNavigateNextInViewPicker';
|
|
148
|
+
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
149
|
+
id: quickAccessNavigateNextInViewPickerId,
|
|
150
|
+
weight: 200 + 50,
|
|
151
|
+
handler: getQuickNavigateHandler(quickAccessNavigateNextInViewPickerId, true),
|
|
152
|
+
when: inViewsPickerContext,
|
|
153
|
+
primary: viewPickerKeybinding.primary,
|
|
154
|
+
linux: viewPickerKeybinding.linux,
|
|
155
|
+
mac: viewPickerKeybinding.mac
|
|
156
|
+
});
|
|
157
|
+
const quickAccessNavigatePreviousInViewPickerId = 'workbench.action.quickOpenNavigatePreviousInViewPicker';
|
|
158
|
+
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
159
|
+
id: quickAccessNavigatePreviousInViewPickerId,
|
|
160
|
+
weight: 200 + 50,
|
|
161
|
+
handler: getQuickNavigateHandler(quickAccessNavigatePreviousInViewPickerId, false),
|
|
162
|
+
when: inViewsPickerContext,
|
|
163
|
+
primary: viewPickerKeybinding.primary | 1024 ,
|
|
164
|
+
linux: viewPickerKeybinding.linux,
|
|
165
|
+
mac: {
|
|
166
|
+
primary: viewPickerKeybinding.mac.primary | 1024
|
|
167
|
+
}
|
|
168
|
+
});
|