Skip to content

Explicitly removed keybindings in IntelliJ XML are not properly converted to VSCode format #386

@bling-yshs

Description

@bling-yshs

Description

When I explicitly remove a keybinding in IntelliJ IDEA by setting an empty action tag like <action id="QuickChangeScheme" />, the converter still generates the default keybinding in the VSCode configuration instead of generating a removal entry.

Expected Behavior

When an action is explicitly set without keyboard shortcuts in the IntelliJ keymap XML:

<action id="QuickChangeScheme" />

The converted VSCode keybindings should include a removal entry:

{
    "command": "-workbench.action.selectTheme",
    "key": "ctrl+k ctrl+t"
}

Actual Behavior

The converter ignores the empty action tag and uses the default keybinding, resulting in:

{
    "command": "workbench.action.selectTheme",
    "key": "ctrl+`"
}

Root Cause

  1. IntelliJXmlParser: The parser only processes actions that have keyboard-shortcut child elements, completely ignoring empty action tags.
  2. IntelliJSyntaxAnalyzer: When no custom configuration is found, the analyzer treats it as "not configured" rather than "explicitly removed", and falls back to using default keybindings.

Impact

Users cannot properly remove unwanted keybindings when converting from IntelliJ to VSCode. The explicit intention to remove a keybinding is lost during conversion.

Could you please confirm whether this issue exists? If possible, I can submit a PR to fix it (I used AI to make the changes).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions