Shell (!) mode: Tab should trigger normal terminal completion, not switch to Issues
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 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
- 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.
- Type !git chec and press Tab — expected: shell completes to git checkout (or cycles matches), not a switch to the Issues panel.
- 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
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先跟踪 ! shell 模式下的 Tab 处理,以及切换到 Issues 视图的 keybinding;该 issue 未指定文件或测试。使用列出的路径、git checkout 和 src/ 补全工作流验证行为,并在 Tab 使用底层 shell 的正常补全而不是切换 CLI 视图时,视为工作完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- shell
- 领域
- cli
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100