Appearance
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 支持情况
| IDE | Ghost Text | Next 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 插件的集成深度。