github / github/copilot-cli

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

Đang mở
#657 0 bình luận 1 reaction 0 người được giao Xem trên GitHub
area:configuration area:input-keyboard
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.