Fix shortcuts configuration dialog UX#22408
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refines the Shortcuts Configuration webview UX by adding a new “Key Commands” tab that routes users to VS Code’s Keyboard Shortcuts UI for command-backed shortcuts, updating dialog behavior/icons, and aligning the preview flag behavior with the new experience.
Changes:
- Adds a “Key Commands” tab with search + per-command “open keybinding” affordance, backed by new webview↔extension RPC requests.
- Updates shortcut/quick query dialogs to be non-modal and introduces light-dismiss behavior.
- Replaces settings-gear imagery with keyboard imagery/icons and adjusts the preview setting schema.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| localization/xliff/vscode-mssql.xlf | Adds new localized source strings for the Key Commands UX. |
| extensions/mssql/src/webviews/pages/ShortcutsConfiguration/shortcutsConfigurationStateProvider.tsx | Exposes new RPC methods for opening keybindings for keymap commands. |
| extensions/mssql/src/webviews/pages/ShortcutsConfiguration/shortcutsConfigurationPage.tsx | Adds the “Key Commands” tab + search UI and routes actions to the new RPCs; updates page icon. |
| extensions/mssql/src/webviews/pages/ShortcutsConfiguration/shortcutComponents.tsx | Adds light-dismiss helper, makes dialogs non-modal, and adds a new “Managed in VS Code” shortcut chip + row for key commands. |
| extensions/mssql/src/webviews/common/locConstants.ts | Adds localized strings used by the new Key Commands UI. |
| extensions/mssql/src/sharedInterfaces/shortcutsConfiguration.ts | Adds new RPC request types and introduces the configurable key-command list shared by webview/controller. |
| extensions/mssql/src/controllers/shortcutsConfigurationWebviewController.ts | Implements new RPC handlers to open VS Code Keyboard Shortcuts for commands; updates webview icon paths. |
| extensions/mssql/package.json | Updates command icon and modifies the preview flag schema for shortcutsConfiguration. |
| extensions/mssql/media/keyboard_light.svg | Adds new light-theme keyboard icon asset. |
| extensions/mssql/media/keyboard_dark.svg | Adds new dark-theme keyboard icon asset. |
| extensions/mssql/l10n/bundle.l10n.json | Adds new localized strings for the Key Commands UX. |
PR Changes
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #22408 +/- ##
===========================================
- Coverage 87.74% 75.55% -12.20%
===========================================
Files 325 413 +88
Lines 113984 129803 +15819
Branches 560 8266 +7706
===========================================
- Hits 100020 98068 -1952
- Misses 13964 31735 +17771
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
…and updating related localization
| const configurableKeyCommandCategoryOrder: ConfigurableKeyCommand["category"][] = [ | ||
| "queryExecution", | ||
| "connection", | ||
| "others", | ||
| ]; |
| noShortcut: l10n.t("No shortcut"), | ||
| noQuerySet: l10n.t("No query set"), | ||
| searchWebviewShortcuts: l10n.t("Search in-app shortcuts"), | ||
| searchWebviewShortcuts: l10n.t("Search extension shortcut"), | ||
| recordShortcut: l10n.t("Record shortcut"), |
Description
Updates the shortcuts configuration experience to align with the latest UX mockup:
Code Changes Checklist
npm run test)Validation performed:
npm run build:webviewsnpm run build:extension:typechecknpm run lintnpm run test -- --target mssql --grep "shortcutsConfiguration Webview Controller"Note: full
npm run testwas run and currently fails in unrelated suites outside shortcuts configuration (SqlResultsGrid common utilities,SchemaDesignerWebviewCopilotChatEntry, andPublishChangesDialogButtonhooks).Reviewers: Please read our reviewer guidelines