Skip to content

Commit 98b8d4a

Browse files
authored
fix AI results available keybinding label and when (microsoft#261336)
1 parent fb87057 commit 98b8d4a

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import { PreferencesEditorInput, SettingsEditor2Input } from '../../../services/
4343
import { SettingsEditorModel } from '../../../services/preferences/common/preferencesModels.js';
4444
import { CURRENT_PROFILE_CONTEXT, IUserDataProfileService } from '../../../services/userDataProfile/common/userDataProfile.js';
4545
import { ExplorerFolderContext, ExplorerRootContext } from '../../files/common/files.js';
46-
import { CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, CONTEXT_KEYBINDING_FOCUS, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_JSON_EDITOR, CONTEXT_SETTINGS_ROW_FOCUS, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, CONTEXT_WHEN_FOCUS, KEYBINDINGS_EDITOR_COMMAND_ACCEPT_WHEN, KEYBINDINGS_EDITOR_COMMAND_ADD, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_HISTORY, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, KEYBINDINGS_EDITOR_COMMAND_COPY, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND_TITLE, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_DEFINE_WHEN, KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS, KEYBINDINGS_EDITOR_COMMAND_REJECT_WHEN, 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_EXTENSION_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS, REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU } from '../common/preferences.js';
46+
import { CONTEXT_AI_SETTING_RESULTS_AVAILABLE, CONTEXT_KEYBINDINGS_EDITOR, CONTEXT_KEYBINDINGS_SEARCH_FOCUS, CONTEXT_KEYBINDING_FOCUS, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_JSON_EDITOR, CONTEXT_SETTINGS_ROW_FOCUS, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, CONTEXT_WHEN_FOCUS, KEYBINDINGS_EDITOR_COMMAND_ACCEPT_WHEN, KEYBINDINGS_EDITOR_COMMAND_ADD, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_HISTORY, KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, KEYBINDINGS_EDITOR_COMMAND_COPY, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND, KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND_TITLE, KEYBINDINGS_EDITOR_COMMAND_DEFINE, KEYBINDINGS_EDITOR_COMMAND_DEFINE_WHEN, KEYBINDINGS_EDITOR_COMMAND_FOCUS_KEYBINDINGS, KEYBINDINGS_EDITOR_COMMAND_RECORD_SEARCH_KEYS, KEYBINDINGS_EDITOR_COMMAND_REJECT_WHEN, 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_EXTENSION_KEYBINDINGS, KEYBINDINGS_EDITOR_SHOW_USER_KEYBINDINGS, REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU, SETTINGS_EDITOR_COMMAND_TOGGLE_AI_SEARCH } from '../common/preferences.js';
4747
import { PreferencesContribution } from '../common/preferencesContribution.js';
4848
import { KeybindingsEditor } from './keybindingsEditor.js';
4949
import { ConfigureLanguageBasedSettingsAction } from './preferencesActions.js';
@@ -53,7 +53,6 @@ import { IPreferencesRenderer, UserSettingsRenderer, WorkspaceSettingsRenderer }
5353
import { SettingsEditor2, SettingsFocusContext } from './settingsEditor2.js';
5454

5555
const SETTINGS_EDITOR_COMMAND_SEARCH = 'settings.action.search';
56-
const SETTINGS_EDITOR_COMMAND_TOGGLE_AI_SEARCH = 'settings.action.toggleAiSearch';
5756

5857
const SETTINGS_EDITOR_COMMAND_FOCUS_FILE = 'settings.action.focusSettingsFile';
5958
const SETTINGS_EDITOR_COMMAND_FOCUS_SETTINGS_FROM_SEARCH = 'settings.action.focusSettingsFromSearch';
@@ -498,7 +497,7 @@ class PreferencesActionsContribution extends Disposable implements IWorkbenchCon
498497
keybinding: {
499498
primary: KeyMod.CtrlCmd | KeyCode.KeyI,
500499
weight: KeybindingWeight.EditorContrib,
501-
when: null
500+
when: CONTEXT_AI_SETTING_RESULTS_AVAILABLE
502501
},
503502
category,
504503
f1: true,

src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { IContextKey, IContextKeyService } from '../../../../platform/contextkey
3636
import { IExtensionGalleryService, IExtensionManagementService, IGalleryExtension } from '../../../../platform/extensionManagement/common/extensionManagement.js';
3737
import { IExtensionManifest } from '../../../../platform/extensions/common/extensions.js';
3838
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
39+
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
3940
import { ILogService } from '../../../../platform/log/common/log.js';
4041
import { IProductService } from '../../../../platform/product/common/productService.js';
4142
import { IEditorProgressService, IProgressRunner } from '../../../../platform/progress/common/progress.js';
@@ -59,7 +60,7 @@ import { nullRange, Settings2EditorModel } from '../../../services/preferences/c
5960
import { IUserDataProfileService } from '../../../services/userDataProfile/common/userDataProfile.js';
6061
import { IUserDataSyncWorkbenchService } from '../../../services/userDataSync/common/userDataSync.js';
6162
import { SuggestEnabledInput } from '../../codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js';
62-
import { CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_ROW_FOCUS, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, EMBEDDINGS_SEARCH_PROVIDER_NAME, ENABLE_LANGUAGE_FILTER, EXTENSION_FETCH_TIMEOUT_MS, EXTENSION_SETTING_TAG, FEATURE_SETTING_TAG, FILTER_MODEL_SEARCH_PROVIDER_NAME, getExperimentalExtensionToggleData, ID_SETTING_TAG, IPreferencesSearchService, ISearchProvider, LANGUAGE_SETTING_TAG, LLM_RANKED_SEARCH_PROVIDER_NAME, MODIFIED_SETTING_TAG, POLICY_SETTING_TAG, REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_SHOW_AI_RESULTS, SETTINGS_EDITOR_COMMAND_SUGGEST_FILTERS, STRING_MATCH_SEARCH_PROVIDER_NAME, TF_IDF_SEARCH_PROVIDER_NAME, WorkbenchSettingsEditorSettings, WORKSPACE_TRUST_SETTING_TAG } from '../common/preferences.js';
63+
import { CONTEXT_AI_SETTING_RESULTS_AVAILABLE, CONTEXT_SETTINGS_EDITOR, CONTEXT_SETTINGS_ROW_FOCUS, CONTEXT_SETTINGS_SEARCH_FOCUS, CONTEXT_TOC_ROW_FOCUS, EMBEDDINGS_SEARCH_PROVIDER_NAME, ENABLE_LANGUAGE_FILTER, EXTENSION_FETCH_TIMEOUT_MS, EXTENSION_SETTING_TAG, FEATURE_SETTING_TAG, FILTER_MODEL_SEARCH_PROVIDER_NAME, getExperimentalExtensionToggleData, ID_SETTING_TAG, IPreferencesSearchService, ISearchProvider, LANGUAGE_SETTING_TAG, LLM_RANKED_SEARCH_PROVIDER_NAME, MODIFIED_SETTING_TAG, POLICY_SETTING_TAG, REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG, SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS, SETTINGS_EDITOR_COMMAND_SHOW_AI_RESULTS, SETTINGS_EDITOR_COMMAND_SUGGEST_FILTERS, SETTINGS_EDITOR_COMMAND_TOGGLE_AI_SEARCH, STRING_MATCH_SEARCH_PROVIDER_NAME, TF_IDF_SEARCH_PROVIDER_NAME, WorkbenchSettingsEditorSettings, WORKSPACE_TRUST_SETTING_TAG } from '../common/preferences.js';
6364
import { settingsHeaderBorder, settingsSashBorder, settingsTextInputBorder } from '../common/settingsEditorColorRegistry.js';
6465
import './media/settingsEditor2.css';
6566
import { preferencesAiResultsIcon, preferencesClearInputIcon, preferencesFilterIcon } from './preferencesIcons.js';
@@ -213,6 +214,7 @@ export class SettingsEditor2 extends EditorPane {
213214
private settingRowFocused: IContextKey<boolean>;
214215
private inSettingsEditorContextKey: IContextKey<boolean>;
215216
private searchFocusContextKey: IContextKey<boolean>;
217+
private aiResultsAvailable: IContextKey<boolean>;
216218

217219
private scheduledRefreshes: Map<string, DisposableStore>;
218220
private _currentFocusContext: SettingsFocusContext = SettingsFocusContext.Search;
@@ -262,6 +264,7 @@ export class SettingsEditor2 extends EditorPane {
262264
@IExtensionGalleryService private readonly extensionGalleryService: IExtensionGalleryService,
263265
@IEditorProgressService private readonly editorProgressService: IEditorProgressService,
264266
@IUserDataProfileService userDataProfileService: IUserDataProfileService,
267+
@IKeybindingService private readonly keybindingService: IKeybindingService
265268
) {
266269
super(SettingsEditor2.ID, group, telemetryService, themeService, storageService);
267270
this.searchDelayer = new Delayer(200);
@@ -277,6 +280,7 @@ export class SettingsEditor2 extends EditorPane {
277280
this.searchFocusContextKey = CONTEXT_SETTINGS_SEARCH_FOCUS.bindTo(contextKeyService);
278281
this.tocRowFocused = CONTEXT_TOC_ROW_FOCUS.bindTo(contextKeyService);
279282
this.settingRowFocused = CONTEXT_SETTINGS_ROW_FOCUS.bindTo(contextKeyService);
283+
this.aiResultsAvailable = CONTEXT_AI_SETTING_RESULTS_AVAILABLE.bindTo(contextKeyService);
280284

281285
this.scheduledRefreshes = new Map<string, DisposableStore>();
282286
this.stopWatch = new StopWatch(false);
@@ -343,6 +347,7 @@ export class SettingsEditor2 extends EditorPane {
343347
if (this.showAiResultsAction) {
344348
this.showAiResultsAction.checked = false;
345349
this.showAiResultsAction.enabled = false;
350+
this.aiResultsAvailable.set(false);
346351
this.showAiResultsAction.label = SHOW_AI_RESULTS_DISABLED_LABEL;
347352
}
348353
}
@@ -758,7 +763,8 @@ export class SettingsEditor2 extends EditorPane {
758763
return this.instantiationService.createInstance(SettingsSearchFilterDropdownMenuActionViewItem, action, options, this.actionRunner, this.searchWidget);
759764
}
760765
if (this.showAiResultsAction && action.id === this.showAiResultsAction.id) {
761-
return new ToggleActionViewItem(null, action, { ...options, keybinding: 'Ctrl+I', toggleStyles: defaultToggleStyles });
766+
const keybindingLabel = this.keybindingService.lookupKeybinding(SETTINGS_EDITOR_COMMAND_TOGGLE_AI_SEARCH)?.getLabel();
767+
return new ToggleActionViewItem(null, action, { ...options, keybinding: keybindingLabel, toggleStyles: defaultToggleStyles });
762768
}
763769
return undefined;
764770
}
@@ -1833,6 +1839,7 @@ export class SettingsEditor2 extends EditorPane {
18331839
return this.doAiSearch(query, token).then((results) => {
18341840
if (results && this.showAiResultsAction) {
18351841
this.showAiResultsAction.enabled = true;
1842+
this.aiResultsAvailable.set(true);
18361843
this.showAiResultsAction.label = SHOW_AI_RESULTS_ENABLED_LABEL;
18371844
this.renderResultCountMessages(true);
18381845
}

src/vs/workbench/contrib/preferences/common/preferences.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ export const CONTEXT_PREFERENCES_SEARCH_FOCUS = new RawContextKey<boolean>('inPr
6060

6161
export const SETTINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS = 'settings.action.clearSearchResults';
6262
export const SETTINGS_EDITOR_COMMAND_SHOW_AI_RESULTS = 'settings.action.showAIResults';
63+
export const SETTINGS_EDITOR_COMMAND_TOGGLE_AI_SEARCH = 'settings.action.toggleAiSearch';
6364
export const SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU = 'settings.action.showContextMenu';
6465
export const SETTINGS_EDITOR_COMMAND_SUGGEST_FILTERS = 'settings.action.suggestFilters';
6566

@@ -72,6 +73,7 @@ export const CONTEXT_KEYBINDINGS_EDITOR = new RawContextKey<boolean>('inKeybindi
7273
export const CONTEXT_KEYBINDINGS_SEARCH_FOCUS = new RawContextKey<boolean>('inKeybindingsSearch', false);
7374
export const CONTEXT_KEYBINDING_FOCUS = new RawContextKey<boolean>('keybindingFocus', false);
7475
export const CONTEXT_WHEN_FOCUS = new RawContextKey<boolean>('whenFocus', false);
76+
export const CONTEXT_AI_SETTING_RESULTS_AVAILABLE = new RawContextKey<boolean>('aiSettingResultsAvailable', false);
7577

7678
export const KEYBINDINGS_EDITOR_COMMAND_SEARCH = 'keybindings.editor.searchKeybindings';
7779
export const KEYBINDINGS_EDITOR_COMMAND_CLEAR_SEARCH_RESULTS = 'keybindings.editor.clearSearchResults';

0 commit comments

Comments
 (0)