行内补全

行内补全(inline suggestions / ghost text)是 Copilot 最老、也仍然最高频的能力:你打字,模型在光标处用灰色文字续写。官方说明:Getting code suggestions in your IDEKeyboard shortcuts

建议只有在你 明确接受 后才会进文件。继续打字等于忽略。这是人在回路里,不是自动改仓库。


它会看什么

Copilot 会参考当前文件、邻近打开的编辑器、以及你刚写的注释与标识符。官方建议:打开真正相关的文件,关掉无关标签页,减少「跨项目串味」。

语言覆盖很广;官方点名 Python、JavaScript、TypeScript、Ruby、Go、C#、C++ 等效果较好。查询、API 样板、基础设施即代码也可以出建议。

若建议很少或总被掐掉,检查是否开启了「与公开代码匹配则拦截」等个人 / 组织政策,见 Managing Copilot policies


接受、拒绝、换一条

VS Code 默认键(可在 Keyboard Shortcuts 里按命令名改):

动作Windows / LinuxmacOS命令名
接受整段建议TabTabeditor.action.inlineSuggest.commit
拒绝建议EscEsceditor.action.inlineSuggest.hide
下一条Alt+]Option+]editor.action.inlineSuggest.showNext
上一条Alt+[Option+[editor.action.inlineSuggest.showPrevious
手动触发Alt+\Option+\editor.action.inlineSuggest.trigger
在新标签页看多条Ctrl+EnterCtrl+Returngithub.copilot.generate

把鼠标悬停在幽灵文本上会出现 Copilot 控件:Accept、下一条、以及 Accept Word(只收下下一个词)。也可以只接受下一行——以控件文案和你当前 VS Code 版本为准。

JetBrains 同样是 Tab / Esc;下一条在 Windows 为 Alt+],macOS 为 Option+]。多建议面板在 Windows 常为 Ctrl+Enter,macOS 官方表为 Command+Shift+A(以你 IDE 的 keymap 为准)。


注释生成代码

在注释里用自然语言写目标,再留一个函数 / 方法头,Copilot 会尝试补实现。官方 Java 示例大意是:「找出没有 alt 的图片并加红框」,然后写 void process()。JavaScript 可以这样练:

// Parse a YYYY-MM-DD string. Throw TypeError if the format is wrong.
// Do not use Date.parse. Return { year, month, day } with month 1-12.
function parseIsoDate(value) {

写注释时尽量包含:

  • 输入 / 输出类型
  • 错误怎么处理(抛、返回 null、还是空数组)
  • 不要用的库(避免它塞进你没依赖的包)

接受后立刻跑一个最小例子或现有测试。注释驱动很适合样板;算法与安全相关逻辑仍要你设计测试。

Copilot 也可以反向:先写代码,再在上方敲语言注释符(如 ///"""),等它建议文档注释。官方注明:在 Copilot Free 上,这类注释建议可能计入 Chat 用量而不是补全用量——以当前计划页为准。


下一处编辑建议(NES)

较新的 VS Code Copilot 还会预测 下一次编辑的位置和内容(Next Edit Suggestions),而不只是光标后的插入。接受 / 跳转的键以 VS Code 里 Copilot 的 NES 说明为准,见官方 Quickstart 里 “Get familiar with next edit suggestions”。若快捷键和 Tab 补全打架,在 Keyboard Shortcuts 里搜 inlineSuggestnextEdit


开关与按语言禁用

  • 状态栏 Copilot 菜单可以 pause / resume。
  • 设置 github.copilot.enable 可按语言开关,例如只在 plaintext 里关掉。
  • 没有默认「总开关」快捷键;命令名是 github.copilot.toggleCopilot,可自己绑定。

组织可用 content exclusion 禁止某些路径进入提示上下文。本地再关一层并不能替代企业政策。


好习惯

有效:

  • 先写有意义的函数名和一两行注释,再等建议
  • 接受后马上格式化、跑 linter / 测试
  • 建议像从互联网粘贴的代码一样审:许可证、密钥、错误的 API

低效:

  • 空文件里只打 function 就指望它写出整个服务
  • 连续 Tab 十次却从不读灰色文字
  • 把补全当成「已通过代码审查」

密钥、令牌、客户数据不要写进注释里「帮助模型理解」。

Windows 上 Alt+\ 触发失败时,确认当前键盘布局下 \ 不是被输入法吃掉;可在 Keyboard Shortcuts 里给 editor.action.inlineSuggest.trigger 另绑一键。macOS 上 Option+\ 在部分 ISO 键盘上别扭,同样建议重绑。


下一步

评论