logo

代码建议(Copilot Suggestions)

Copilot 最稳定的能力,还是代码建议本身。别把它想得太玄,先把它当成一个很会补全、但需要你喂上下文的助手,效果反而更好。

GitHub Copilot 标识

它通常会在哪些时候给建议

  • 你开始写函数签名的时候
  • 你已经写了几行注释,准备补实现的时候
  • 你在重复写类似的接口请求、校验逻辑或测试结构

这类场景的共同点,是代码意图已经有雏形。Copilot 不是读心术,它需要一个起点。

建议类型

行内补全

最常见。适合补一行、几行,或者接住你当前正在写的链式调用和对象结构。

多行补全

当函数名、参数和注释都比较明确时,它可能直接补出一整段实现。写 CRUD、转换函数、测试样板时特别明显。

多候选建议

如果第一条不对,别急着接收。通常还有其他版本可切。这个动作很多人懒得用,结果就会误以为 Copilot “只会给错的”。

怎么写,建议质量会更高

先写注释,再写函数

// 读取本地缓存的用户配置
// 如果不存在则返回默认值
export function loadUserSettings() {
  // Copilot 会在这里继续补
}

先写结构,再补实现

async function fetchUserProfile(userId: string) {
  // 1. 调用 API
  // 2. 处理错误
  // 3. 返回标准化结构
}

类型越清楚,猜错越少

如果你的参数、返回值、接口名都很模糊,它只能乱猜。相反,类型和命名越清楚,补全越像你真正要的东西。

一个很现实的经验

我一般不会直接接受它第一次给的整段代码,尤其是包含错误处理、权限判断、异步流程的时候。Copilot 在 happy path 上常常看起来很聪明,但边界条件还是得你自己守。

适合让它补的内容

  • 重复性很强的样板代码
  • 清楚输入输出的工具函数
  • 测试用例骨架
  • 类型声明和数据映射

不适合完全放手的内容

  • 权限与安全逻辑
  • 复杂事务处理
  • 关键业务分支
  • 会影响很多文件的一次性大改

这些内容不是不能让它参与,而是别一键接收。

如果它总给错,先查什么

  • 你的注释是不是太空
  • 类型是不是没写清楚
  • 当前文件有没有足够上下文
  • 项目里是不是已经有和你想法相反的旧写法

很多“Copilot 不准”的案例,最后都是上下文质量问题。

参考资料

GitHub Copilot 指南
Vibe Coding

GitHub Copilot 指南

GitHub Copilot 是由 GitHub 和 OpenAI 合作开发的 AI 编程助手,可在多种 IDE 中使用。

GitHub Copilot 指南代码建议

代码建议(Copilot Suggestions)

Copilot 最稳定的能力,还是代码建议本身。别把它想得太玄,先把它当成一个很会补全、但需要你喂上下文的助手,效果反而更好。

GitHub Copilot 标识
GitHub Copilot 标识

#它通常会在哪些时候给建议

  • 你开始写函数签名的时候
  • 你已经写了几行注释,准备补实现的时候
  • 你在重复写类似的接口请求、校验逻辑或测试结构

这类场景的共同点,是代码意图已经有雏形。Copilot 不是读心术,它需要一个起点。

#建议类型

#行内补全

最常见。适合补一行、几行,或者接住你当前正在写的链式调用和对象结构。

#多行补全

当函数名、参数和注释都比较明确时,它可能直接补出一整段实现。写 CRUD、转换函数、测试样板时特别明显。

#多候选建议

如果第一条不对,别急着接收。通常还有其他版本可切。这个动作很多人懒得用,结果就会误以为 Copilot “只会给错的”。

#怎么写,建议质量会更高

#先写注释,再写函数

ts
// 读取本地缓存的用户配置 // 如果不存在则返回默认值 export function loadUserSettings() { // Copilot 会在这里继续补 }

#先写结构,再补实现

ts
async function fetchUserProfile(userId: string) { // 1. 调用 API // 2. 处理错误 // 3. 返回标准化结构 }

#类型越清楚,猜错越少

如果你的参数、返回值、接口名都很模糊,它只能乱猜。相反,类型和命名越清楚,补全越像你真正要的东西。

#一个很现实的经验

我一般不会直接接受它第一次给的整段代码,尤其是包含错误处理、权限判断、异步流程的时候。Copilot 在 happy path 上常常看起来很聪明,但边界条件还是得你自己守。

#适合让它补的内容

  • 重复性很强的样板代码
  • 清楚输入输出的工具函数
  • 测试用例骨架
  • 类型声明和数据映射

#不适合完全放手的内容

  • 权限与安全逻辑
  • 复杂事务处理
  • 关键业务分支
  • 会影响很多文件的一次性大改

这些内容不是不能让它参与,而是别一键接收。

#如果它总给错,先查什么

  • 你的注释是不是太空
  • 类型是不是没写清楚
  • 当前文件有没有足够上下文
  • 项目里是不是已经有和你想法相反的旧写法

很多“Copilot 不准”的案例,最后都是上下文质量问题。

#参考资料

Vibe Coding

AI 编程体系课:工具、流程与最佳实践

从零搭建 AI 编程工作流,提升开发效率。

进入 Vibe Coding →

相关路线图