`/terminal-setup` inside Dev Container and Codespaces writes keybindings to wrong file
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 6
Description
### 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_
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.