Microsoft/vscode

`editor.action.selectAll` gets triggered for webview editors, preventing them from overriding the keybinding behavior for ctrl/cmd+a

Open

#236 373 ouverte le 17 déc. 2024

Voir sur GitHub
 (0 commentaires) (0 réactions) (1 assigné)TypeScript (10 221 forks)batch import
bughelp wantedwebview

Métriques du dépôt

Stars
 (74 848 stars)
Métriques de merge PR
 (Merge moyen 11h 43m) (1 000 PRs mergées en 30 j)

Description

Does this issue occur when all extensions are disabled?: Yes/No

  • VS Code Version: 1.96.0
  • OS Version: macOS 14.7.2

Steps to Reproduce:

  1. Install Swimm.swimm
  2. Do the whole setup needed for the extension, login, create workspace, add repo.
  3. Open an editor and add a sample Mermaid diagram (/mermaid and select some sample).
  4. Hit Ctrl/Cmd+A.
  5. It will select the entire document due to editor.action.selectAll firing, instead of only the contents of the Mermaid diagram as we have coded in Swimm.

It seems like editor.action.selectAll is basically missing a when expression, which I think should be editorFocus. Adding that in the user keyboard shortcuts fixes the issue. And you can try that yourself using the same steps to reproduce.

I tried to contribute a keybinding via our extension to fix this, but adding:

    {
        "key": "ctrl+a",
        "mac": "cmd+a",
        "command": "editor.action.selectAll",
        "when": "editorFocus" // Or "activeWebviewPanelId != 'swimm.editor'"
    },
    {
        "key": "ctrl+a",
        "mac": "cmd+a",
        "command": "-editor.action.selectAll"
    }

To our extension's package.json only resulted in disabling the select all shortcut entirely.

Guide contributeur