github / github/copilot-cli

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

未关闭
#657 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
area:configuration area:input-keyboard
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### 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:

```json
{
"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_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。