Skip to content

/terminal-setup inside Dev Container and Codespaces writes keybindings to wrong file #657

Description

@JeffreyCA

Describe the bug

When using Copilot CLI within a Linux Dev Container or GitHub Codespaces instance, /terminal-setup creates a ~/.config/Code/User/keybindings.json or ~/.config/Code - Insiders/User/keybindings.json file, which doesn't do anything because keybinding configs work at the host layer.

This causes Shift+Enter and Ctrl+Enter keypresses to not insert newlines as intended, and also makes copilot think they're correctly set up when they're not:

 ● Key bindings for VS Code are already set up. Your terminal already has multiline support with Shift+Enter and Ctrl+Enter.

Workaround

  1. Activate Command Palette (Ctrl+Shift+P or Cmd+Shift+P)

  2. Select Preferences: Open Keyboard Shortcuts (JSON)

  3. Insert the following into the JSON array:

    {
        "key": "ctrl+enter",
        "command": "workbench.action.terminal.sendSequence",
        "when": "terminalFocus",
        "args": {
            "text": "\\\r\n"
        }
    },
    {
        "key": "shift+enter",
        "command": "workbench.action.terminal.sendSequence",
        "when": "terminalFocus",
        "args": {
            "text": "\\\r\n"
        }
    }

Affected version

0.0.363

Steps to reproduce the behavior

  1. Remove Ctrl+Enter and Shift+Enter keybindings from keybindings.json
  2. Install and run Copilot CLI from inside a Linux Dev Container or GitHub Codespaces instance
  3. Run /terminal-setup or choose yes when prompted during the first-time setup flow

Expected behavior

Keybindings should be added to the host-level keybindings.json config.

Additional context

No response

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:input-keyboardKeyboard shortcuts, keybindings, copy/paste, clipboard, mouse, and text input

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions