Search code examples
visual-studio-codekey-bindings

Visual Studio Code: How to define key bindings for page-home and page-end


Whilst coding I frequently find myself needing to jump either to the top or bottom of a file, but I can't find a quick way to do this with a single key stroke. I tried to define a short cut in the key bindings, but I can't find a function like "page-home" and "page-end". I was going to use the alt key with the home button to jump to the top of a page and alt+end for the bottom.

ie I was expecting to be able to define say:

{ "key": "alt+home", "command": "[what is page home command]", "when": "terminalFocus"}

So, are there such functions page-home/page-end (I may have this wrong, perhaps its defined as something else).

I've spotted a binding for "cmd+home" bound to "workbench.action.terminal.scrollToTop" which sounds like the right function (and a similar one for "cmd+end"), but they don't work.

UPDATE: I've tried to apply changes to the keybindings via the key bindings page, by defining the keystrokes I mentioned before, and it still does not work. Unless I'm doing something wrong, I . think there is a bug that needs to be reported, unless somebody can say otherwise.

Thanks.


Solution

  • The answer is in this GitHub post. The commands you're looking for are cursorTop and cursorBottom.

    Open up the command palette (CTRL + SHIFT + P on Windows) and select Preferences: Open Keyboard Shortcuts File

    Add in the following settings in keybindings.json:

    {
        "key": "ctrl+home",
        "command": "cursorTop",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+end",
        "command": "cursorBottom",
        "when": "editorTextFocus"
    }
    

    replacing the key with whatever shortcut you prefer.