Skip to content

GitHub Copilot 在代码编辑器里提供两种代码补全:Ghost Text(随着你打字实时出现的灰色补全提示)和 Next Edit Suggestions(预测你接下来要修改的地方和修改内容)。本页介绍不同 IDE 的支持情况和补全模型的切换方式。

GitHub Copilot 代码补全:Ghost Text、Next Edit Suggestions 与多 IDE 支持

两种补全类型

Ghost Text(幽灵文本)

最常见的补全形式:在你打字或写注释时,Copilot 以灰色文字实时预测后续内容。

  • Tab 接受建议
  • Esc 拒绝
  • Alt+] / Alt+[(Windows/Linux)或 Option+] / Option+[(macOS)在多个建议间切换

适用于:函数实现、常见代码模式、根据注释生成代码。

Next Edit Suggestions(下一处编辑预测)

更智能的补全模式:Copilot 观察你正在做的修改,预测你下一步要在哪里改什么

举例:

  • 你把一个函数从同步改成了 async,Copilot 会自动预测所有调用处需要加 await
  • 你修改了一个参数名,Copilot 预测所有使用该参数的地方也需要更新

这个功能目前在 VS Code、Visual Studio(公开预览)和 Xcode 中支持。

各 IDE 支持情况

IDEGhost TextNext Edit Suggestions
VS Code
JetBrains(IDEA/PyCharm/等)
Visual Studio✅(公开预览)
Vim / Neovim
Azure Data Studio✅(SQL)
Xcode✅(公开预览)
Eclipse

JetBrains 用户:只有 Ghost Text,没有 Next Edit Suggestions。如果你日常开发主要在 IntelliJ 系列,这个功能差距值得关注。

支持的编程语言

默认补全模型支持以下语言:

C、C#、C++、Clojure、CSS、Dart、Dockerfile、Elixir、Go、Haskell、HTML、Java、JavaScript、Julia、Kotlin、Lua、Python、R、Ruby、Rust、Scala、Shell、Swift、TypeScript、Vue……(共 30+ 种)

官方表示对 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++ 效果最好。

切换补全使用的 AI 模型

可以切换 inline suggestions 的底层模型(如果你的套餐和 IDE 版本支持):

VS Code:在状态栏或 Copilot 设置中选择模型 JetBrains / Visual Studio:需要最新版 IDE 和插件

注意事项:

  • 切换补全模型不影响 Chat 模型和 Next Edit Suggestions 模型
  • Copilot Free 用户切换模型后,所有补全仍计入免费配额
  • Business/Enterprise 用户需要管理员开启"Editor preview features"才能看到模型选择

公共代码匹配检测

每条补全建议都会检测是否与 GitHub 上的公共代码有高度匹配。根据你的设置:

  • 显示引用:补全时显示来源仓库和许可证信息(推荐)
  • 过滤掉匹配项:如果和公共代码高度匹配,直接丢弃该建议

对于商业项目,建议开启"显示引用"或"过滤匹配"以规避许可证风险。

常见问题

Q: 为什么有时候按 Tab 后生成的代码很长,有时候只有几个字符?

A: 补全长度取决于上下文。如果你在函数声明后换行,Copilot 倾向于补全完整函数体;如果你只是在行中间输入,通常只补全到行尾。

Q: Next Edit Suggestions 和普通 Ghost Text 有什么区别,外观上能区分吗?

A: VS Code 中,Next Edit Suggestions 通常以彩色差异视图显示(增/删行对比),而非灰色内联文字。视觉上比 Ghost Text 更显眼。

Q: JetBrains 和 VS Code 的 Copilot 补全质量有差异吗?

A: 功能上 VS Code 更完整(支持 Next Edit Suggestions)。补全质量取决于模型,两者使用同样的模型,差异主要在 IDE 插件的集成深度。