This extension provides the default key bindings for Windows on any platform. Currently, these are the defaults for VSCode 1.78.2. This is useful if you want to run VSCode on another platform but continue to use the bindings that are the defaults on Windows (e.g., here and here). This extension does not remove any existing bindings. On Windows, that means you have everything bound twice. On other platforms, you have that platform's default bindings plus the Windows ones. The bindings in this extension take precedence over the defaults provided by VSCode. Example screenshot running on Linux: InstallationFrom within VSCode, go to extensions (Ctrl+Shift+X), search for "Windows Default Keybindings", click on it, then click on Install. The new bindings should be active immediately. Alternatively, install it from the Marketplace page, or download the VSIX file from the Github releases page and then use "Install from VSIX..." menu option from the "..." menu in the Extensions page. Some problematic keybindings and workaroundsThe basic goal of this extension is to allow VSCode users who are accustomed to the keybindings on Windows to use it on other platforms with the same keybindings. However, sometimes the bindings conflict with something else on the other OS, or don't work for some other reason. In this section I have collected together some workarounds, but be aware that I haven't personally tested all of them. Ctrl + Alt + Up/Down/RightOn Windows, Ctrl+Alt+Up and Ctrl+Alt+Down enter multi-column select mode, and Ctrl+Alt+Right splits the editor pane vertically. On some Linux distributions, the window manager by default intercepts these key combinations. On Ubuntu 22, to disable the offending window manager bindings and allow VSCode to see them, run at a shell:
On Mint 20, run:
Ctrl + Left/Right on MacOSOn Windows, Ctrl + Left/Right moves the cursor by one word to the left or right,
including in the Terminal window. However, reportedly on MacOS, these key bindings
do not work in the Terminal. Insert the following snippet into
How it was createdFor the curious or adventurous, the procedure I used to create this extension is:
|