github / github/copilot-cli

Shell (!) mode: Tab should trigger normal terminal completion, not switch to Issues

Offen
#4,387 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

area:input-keyboard
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

Describe the feature or problem you'd like to solve

When executing a shell command directly by prefixing it with  ! , pressing Tab does not behave like a normal terminal's tab-completion (completing file/directory paths, commands, or flags). Instead, it switches focus/navigation to the Issues view within the CLI. This breaks the expected muscle-memory of a shell prompt and makes it harder to quickly complete paths or commands while working in  !  shell mode.

Proposed solution

When a command is prefixed with  !  (direct shell execution), pressing Tab currently gets intercepted by Copilot CLI's own UI (switching focus/view to Issues) instead of being passed through to the underlying shell for standard completion (file paths, commands, flags — like a normal terminal). Since  !  is meant to give a raw shell pass-through experience, Tab keystrokes while in that mode should be forwarded to the shell's native completion instead of being captured by the CLI's own keybindings.

Example prompts or workflows
  1. In the Copilot CLI, type  !cd ../../projects/my-  and press Tab — expected: shell completes the path to the matching directory, same as typing it directly in a terminal.
  2. Type  !git chec  and press Tab — expected: shell completes to  git checkout  (or cycles matches), not a switch to the Issues panel.
  3. Type  !ls src/  and press Tab to cycle through files/folders in  src/  — expected: standard filename completion, same as bash/zsh/PowerShell.
Additional context

No response

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Tab-Behandlung im !-Shell-Modus und das Keybinding nachzuverfolgen, das zur Issues-Ansicht wechselt; das Issue nennt weder eine Datei noch einen Test. Überprüfe das Verhalten anhand der Workflows für den angegebenen Pfad, git checkout und die Vervollständigung von src/, und betrachte die Arbeit als abgeschlossen, wenn Tab die normale Vervollständigung der zugrunde liegenden Shell verwendet, anstatt die CLI-Ansichten zu wechseln.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
cli
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.