github / github/copilot-cli

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

オープン
#4,387 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

area:input-keyboard
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、! シェルモードでの Tab の処理と Issues ビューに切り替える keybinding を追跡します。この issue ではファイルもテストも指定されていません。指定されたパス、git checkout、src/ の補完ワークフローで動作を検証し、Tab が CLI ビューを切り替えるのではなく、基盤となるシェルの通常の補完を使うようになれば作業完了とみなします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
shell
領域
cli
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。