Skip to content

Fix shortcuts configuration dialog UX#22408

Merged
aasimkhan30 merged 8 commits into
mainfrom
aasim/fix/shortcutsdialog
Jul 2, 2026
Merged

Fix shortcuts configuration dialog UX#22408
aasimkhan30 merged 8 commits into
mainfrom
aasim/fix/shortcutsdialog

Conversation

@aasimkhan30

@aasimkhan30 aasimkhan30 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Description

Updates the shortcuts configuration experience to align with the latest UX mockup:

  • Uses a boolean preview setting and keyboard-focused icons for the command/webview entry points.
  • Keeps Quick Query shortcut keybindings managed by VS Code and opens the Keyboard Shortcuts editor for those commands.
  • Updates the Extension Shortcuts tab with Query Editor and Result View sections.
  • Adds configurable Query Editor command shortcuts backed by MSSQL command ids, grouped by Query Execution, Connection, Execution Plan, and Others.
  • Keeps Result View shortcuts editable in the webview with the existing shortcut recorder flow.
  • Improves shortcut dialog behavior with light-dismiss support and click-through prevention.
  • Localizes Query Editor command labels/descriptions and banner text.

Code Changes Checklist

  • New or updated unit tests added
  • All existing tests pass (npm run test)
  • Code follows contributing guidelines
  • Telemetry/logging updated if relevant
  • No regressions or UX breakage

Validation performed:

  • npm run build:webviews
  • npm run build:extension:typecheck
  • npm run lint
  • npm run test -- --target mssql --grep "shortcutsConfiguration Webview Controller"

Note: full npm run test was run and currently fails in unrelated suites outside shortcuts configuration (SqlResultsGrid common utilities, SchemaDesignerWebviewCopilotChatEntry, and PublishChangesDialogButton hooks).

Reviewers: Please read our reviewer guidelines

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread extensions/mssql/package.json
Comment thread extensions/mssql/src/sharedInterfaces/shortcutsConfiguration.ts Outdated
Comment thread extensions/mssql/src/webviews/pages/ShortcutsConfiguration/shortcutComponents.tsx Outdated
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

PR Changes

Category Target Branch PR Branch Difference
vscode-mssql VSIX 79083 KB 79087 KB ⚪ 4 KB ( 0% )
sql-database-projects VSIX 6311 KB 6311 KB ⚪ 0 KB ( 0% )
data-workspace VSIX 535 KB 535 KB ⚪ 0 KB ( 0% )
keymap VSIX 7 KB 7 KB ⚪ 0 KB ( 0% )

@codecov-commenter

codecov-commenter commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 61.24402% with 81 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.55%. Comparing base (4395bf6) to head (e29fb52).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...tensions/mssql/src/webviews/common/locConstants.ts 1.25% 79 Missing ⚠️
...rollers/shortcutsConfigurationWebviewController.ts 93.75% 2 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (4395bf6) and HEAD (e29fb52). Click for more details.

HEAD has 6 uploads less than BASE
Flag BASE (4395bf6) HEAD (e29fb52)
mssql 3 1
sqlproj 3 1
data-workspace 3 1
Additional details and impacted files

Impacted file tree graph

@@             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     
Flag Coverage Δ
data-workspace 77.10% <ø> (ø)
mssql 75.35% <61.24%> (-13.77%) ⬇️
sqlproj 77.26% <ø> (-0.30%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
extensions/mssql/src/constants/locConstants.ts 77.23% <100.00%> (-22.77%) ⬇️
...sql/src/sharedInterfaces/shortcutsConfiguration.ts 100.00% <100.00%> (ø)
...rollers/shortcutsConfigurationWebviewController.ts 90.45% <93.75%> (-4.07%) ⬇️
...tensions/mssql/src/webviews/common/locConstants.ts 25.55% <1.25%> (-60.22%) ⬇️

... and 302 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI review requested due to automatic review settings July 1, 2026 20:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 12 changed files in this pull request and generated 4 comments.

Comment thread extensions/mssql/src/webviews/common/locConstants.ts
Comment thread extensions/mssql/src/webviews/common/locConstants.ts
Copilot AI review requested due to automatic review settings July 1, 2026 23:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.

Comment thread extensions/mssql/src/webviews/common/locConstants.ts
Comment thread extensions/mssql/src/webviews/common/locConstants.ts
Copilot AI review requested due to automatic review settings July 2, 2026 00:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 14 changed files in this pull request and generated 2 comments.

Comment on lines +60 to +64
const configurableKeyCommandCategoryOrder: ConfigurableKeyCommand["category"][] = [
"queryExecution",
"connection",
"others",
];
Comment on lines 463 to 466
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"),
@aasimkhan30 aasimkhan30 merged commit 6389714 into main Jul 2, 2026
7 of 10 checks passed
@aasimkhan30 aasimkhan30 deleted the aasim/fix/shortcutsdialog branch July 2, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants