Copilot 补全需手动确认,Tab 仅插入高亮建议,Ctrl/Cmd+Enter 主动触发;需开启 inlineSuggest 和 Copilot 子开关;格式问题源于 VS Code 设置,非 Copilot 责任;建议质量取决于上下文清晰度。

Copilot 的补全建议默认不会自动插入,必须手动确认接受,否则它就一直灰着浮在那儿——这不是 bug,是设计。
Tab 键只接受当前高亮项,不是“确认生成”
很多人以为按 Tab 是让 Copilot “开始写”,其实它只是把当前光标前的灰色内联建议(inline suggestion)变成真实代码。如果没高亮项,Tab 就什么也不做;如果高亮的是第 2 条建议,Tab 插入的就是那条,不是最上面那条。
-
↓(方向键下)切换到下一个候选,↑切回上一个 - 按
Esc直接丢弃全部建议,光标回到原位 - 如果建议没出现,别反复按
Tab——先确认是否已触发(见下一条)
Ctrl+Enter / Cmd+Enter 是主动唤起建议的核心按键
靠等 Tab 弹出来?不可控。Copilot 默认不监听每一下输入,它需要明确信号。这个信号就是 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS)。
- 光标必须在合理位置:函数定义后、空行、注释下方、字符串引号内(比如写
console.log("后按) - 写自然语言注释再按更稳,例如
// sort users by last login, descending,然后Cmd+Enter - 该快捷键调用的是
github.copilot.generate命令,生成整块逻辑,不是补全单个词
为什么按了 Ctrl+Enter 没反应?检查这三个开关
按键本身没错,但 VS Code 有三层控制开关,任一关闭都会让 Ctrl+Enter 彻底静音:
-
"editor.inlineSuggest.enabled": false—— 这是总闸,关掉它,所有内联建议(包括 Copilot)都失效 -
"github.copilot.advanced.inlineSuggest.enable": false—— Copilot 自己的子开关,必须为true -
github.copilot.toggleInlineSuggestions命令被绑定但未启用?查keybindings.json是否漏了"when": "editorTextFocus"条件
接受建议后代码格式错乱?别怪 Copilot
Copilot 生成的是纯文本逻辑,不负责格式化。如果你按 Tab 插入后缩进塌了、括号没对齐,问题出在 VS Code 的保存时格式化配置上:
- 确认
"editor.formatOnSave": true已开,且对应语言的 formatter(如 Prettier、Black)已安装并设为默认 - 避免同时开启
"editor.formatOnType": true,它会在插入中途强行格式化,导致剪贴板内容错位 - Copilot 建议末尾带换行?那是它的输出习惯,删掉再手动回车更可控
真正容易被忽略的是:Copilot 的建议质量高度依赖你光标前的上下文长度和清晰度。写 // get 就按 Cmd+Enter,不如写 // fetch user profile from /api/users/{id} with auth header 再按——它不是猜你要什么,是读你写了什么。











