F1 and keybinding customization doesn't work in the integrated terminal #7269

Closed
pcgeek86 opened this Issue Jun 6, 2016 · 9 comments

Comments

Projects
None yet
5 participants
@pcgeek86

pcgeek86 commented Jun 6, 2016

  • VSCode Version: Insiders 1.2.0
  • OS Version: Windows 10 Insider Build 14332

Steps to Reproduce:

  1. Open Terminal
  2. Make sure Terminal has focus
  3. Press F1 key to invoke Command Palette
  4. Command Palette doesn't open

Cheers,
Trevor Sullivan
Microsoft MVP: Cloud & Data Center Management
https://trevorsullivan.net
https://twitter.com/pcgeek86

@Tyriar Tyriar self-assigned this Jun 6, 2016

@Tyriar

This comment has been minimized.

Show comment
Hide comment
@Tyriar

Tyriar Jun 6, 2016

Member

Huh, didn't even notice this because I use ctrl+shift+p for the command palette. Thanks for the report @pcgeek86

Member

Tyriar commented Jun 6, 2016

Huh, didn't even notice this because I use ctrl+shift+p for the command palette. Thanks for the report @pcgeek86

@pcgeek86

This comment has been minimized.

Show comment
Hide comment
@pcgeek86

pcgeek86 Jun 6, 2016

Of course, thanks for looking into it @Tyriar!! 😄

I used to use CTRL + SHIFT + P, but then I changed over to F1 when I heard other folks using it. Honestly I love the natural feel of having both options. I use them both at various times.

pcgeek86 commented Jun 6, 2016

Of course, thanks for looking into it @Tyriar!! 😄

I used to use CTRL + SHIFT + P, but then I changed over to F1 when I heard other folks using it. Honestly I love the natural feel of having both options. I use them both at various times.

@BurtHarris

This comment has been minimized.

Show comment
Hide comment
@BurtHarris

BurtHarris Jun 20, 2016

I originally didn't understand why you would expect F1 to do this in the "new terminal", but by "new terminal", I assumed you meat the a CMD prompt window, such as displayed by pressing Ctrl+Alt+C under version 1.2.1. I now understand you were referring to the "integrated terminal" displayed with Ctrl+` (Ctrl+BackTick)

BurtHarris commented Jun 20, 2016

I originally didn't understand why you would expect F1 to do this in the "new terminal", but by "new terminal", I assumed you meat the a CMD prompt window, such as displayed by pressing Ctrl+Alt+C under version 1.2.1. I now understand you were referring to the "integrated terminal" displayed with Ctrl+` (Ctrl+BackTick)

@Tyriar

This comment has been minimized.

Show comment
Hide comment
@Tyriar

Tyriar Jun 21, 2016

Member

The problem here is knowing which key sequences vscode should capture and which should be passed to the terminal. If vscode consumes F1 then any terminal applications that rely on this will no longer work. Going to leave this one for now unless many people report as there is always the workaround of closing the terminal or using the other keybindings.

Member

Tyriar commented Jun 21, 2016

The problem here is knowing which key sequences vscode should capture and which should be passed to the terminal. If vscode consumes F1 then any terminal applications that rely on this will no longer work. Going to leave this one for now unless many people report as there is always the workaround of closing the terminal or using the other keybindings.

@Tyriar Tyriar added this to the Backlog milestone Jun 21, 2016

@BurtHarris

This comment has been minimized.

Show comment
Hide comment
@BurtHarris

BurtHarris Jun 22, 2016

Agreed, I believe this is then not a bug but by design.

Agreed, I believe this is then not a bug but by design.

@kieferrm

This comment has been minimized.

Show comment
Hide comment
@kieferrm

kieferrm Jun 28, 2016

Contributor

I'm a F1 person. Not having F1 is particularly weird for cases like when you want to use the command palette to create a new terminal or navigate between them.

Contributor

kieferrm commented Jun 28, 2016

I'm a F1 person. Not having F1 is particularly weird for cases like when you want to use the command palette to create a new terminal or navigate between them.

@Tyriar

This comment has been minimized.

Show comment
Hide comment
@Tyriar

Tyriar Jun 28, 2016

Member

Putting my comment on #8312 here on the potential way forward:

I think the eventual solution to this is being able to tell the terminal which keystrokes to not pass to the terminal, it could be a bit tricky to do though.

Member

Tyriar commented Jun 28, 2016

Putting my comment on #8312 here on the potential way forward:

I think the eventual solution to this is being able to tell the terminal which keystrokes to not pass to the terminal, it could be a bit tricky to do though.

@Tyriar

This comment has been minimized.

Show comment
Hide comment
@Tyriar

Tyriar Jul 5, 2016

Member

Upstream issue xtermjs/xterm.js#152

Member

Tyriar commented Jul 5, 2016

Upstream issue xtermjs/xterm.js#152

@Tyriar Tyriar added the upstream label Jul 5, 2016

@Tyriar Tyriar changed the title from F1 Keyboard Shortcut doesn't work in new Terminal to F1 and keybinding customization doesn't work in the integrated terminal Jul 10, 2016

@Tyriar Tyriar removed the upstream label Aug 8, 2016

@Tyriar Tyriar modified the milestones: August 2016, Backlog Aug 8, 2016

@Tyriar Tyriar closed this in 0d6dd86 Aug 8, 2016

@Tyriar

This comment has been minimized.

Show comment
Hide comment
@Tyriar

Tyriar Aug 8, 2016

Member

I just pushed a change that resolves this that will be available for testing in Insiders tomorrow. It exposes the terminal.integrated.commandsToSkipShell setting which is a list of command IDs that will not be handled by the terminal, allowing them to bubble up to be handled by the VS Code keybinding system. This is the default value:

    "terminal.integrated.commandsToSkipShell": [
        "editor.action.toggleTabFocusMode",
        "workbench.action.quickOpen",
        "workbench.action.showCommands",
        "workbench.action.terminal.copySelection",
        "workbench.action.terminal.focus",
        "workbench.action.terminal.focusNext",
        "workbench.action.terminal.focusPrevious",
        "workbench.action.terminal.kill",
        "workbench.action.terminal.new",
        "workbench.action.terminal.paste",
        "workbench.action.terminal.runSelectedText",
        "workbench.action.terminal.scrollDown",
        "workbench.action.terminal.scrollUp",
        "workbench.action.terminal.toggleTerminal"
    ]
Member

Tyriar commented Aug 8, 2016

I just pushed a change that resolves this that will be available for testing in Insiders tomorrow. It exposes the terminal.integrated.commandsToSkipShell setting which is a list of command IDs that will not be handled by the terminal, allowing them to bubble up to be handled by the VS Code keybinding system. This is the default value:

    "terminal.integrated.commandsToSkipShell": [
        "editor.action.toggleTabFocusMode",
        "workbench.action.quickOpen",
        "workbench.action.showCommands",
        "workbench.action.terminal.copySelection",
        "workbench.action.terminal.focus",
        "workbench.action.terminal.focusNext",
        "workbench.action.terminal.focusPrevious",
        "workbench.action.terminal.kill",
        "workbench.action.terminal.new",
        "workbench.action.terminal.paste",
        "workbench.action.terminal.runSelectedText",
        "workbench.action.terminal.scrollDown",
        "workbench.action.terminal.scrollUp",
        "workbench.action.terminal.toggleTerminal"
    ]

Tyriar added a commit that referenced this issue Aug 8, 2016

@jrieken jrieken added the verified label Aug 31, 2016

@Tyriar Tyriar referenced this issue in Microsoft/vscode-docs Sep 6, 2016

Closed

Add terminal.integrated.commandsToSkipShell to docs #556

@Microsoft Microsoft locked and limited conversation to collaborators Nov 18, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.