详细摘要 摘要
生成:2025-06-05 16:19摘要详情
- 音频文件
- B站 | 微软Reactor_SH | 玩转 GitHub Copilot|从入门开始:解锁 Copilot 更多实战技巧
- 摘要类型
- 详细摘要
- LLM 提供商
- openai
- LLM 模型
- gemini-2.5-pro-exp-03-25
- 已创建
- 2025-06-05 16:19:58
摘要内容
概览/核心摘要 (Executive Summary)
本次分享是“玩转 GitHub Copilot”系列的第一期,由微软开发者生产力全球黑带组的尹雪峰老师主讲,旨在从入门开始,通过实际操作演示,解锁 Copilot 的更多实战技巧。尹老师强调,GitHub Copilot 定位为“副驾驶”,是一个辅助编程工具,而非完全取代开发者的“主驾驶”,但其能力自2021年发布以来已显著增强。Copilot 不仅服务于专业开发者,也适用于无编程基础的用户,帮助他们通过编程解决日常工作问题,如自动化处理Excel表格、Word文档等。
分享核心内容包括:Copilot 的多种功能(代码建议、多文件编辑、代码问答、重构、修复、测试生成等);不同版本(Free, Pro, Business, Enterprise)的特性与适用人群,其中Free版本已能满足个人非专业用户大部分需求;以及一系列实战演示。演示场景涵盖:1) 利用 Copilot 处理复杂 Excel 数据(按周聚合、多维度绘图);2) 利用 Copilot 的视觉能力,根据架构图生成 Azure Terraform 部署脚本;3) 对现有项目(贪吃蛇游戏)进行多项功能迭代和代码修改;4) 展示 Copilot 在修改代码时(2D点改为3D点)的上下文感知和自动关联修改能力;5) 通过 .github/CopilotInstructions.md 文件自定义 Copilot 的行为和沟通风格。
此外,分享还介绍了 Copilot 在协作场景的应用,如在 GitHub上进行代码审查(Copilot可辅助审查甚至提出修改建议)和利用 GitHub Workspaces 在云端直接进行代码开发与需求实现。最后,尹老师提及了 Copilot 广泛的 IDE 支持、多模型选择、企业级合规性、数据管理及使用情况度量等生态特性,并解答了关于模型学习项目文档、GPT-4o与其他模型区别以及 Copilot Free 版在中国可用性的问题。核心结论是 GitHub Copilot 是一个强大且易用的AI编程助手,能显著提升各类用户的生产力。
GitHub Copilot 简介与定位
主讲人:尹雪峰 (微软开发者生产力全球黑带组)
GitHub 与 Copilot 的定义
- GitHub: 一个在线的、基于 Git 的代码托管和协作平台,广泛用于代码管理和全球开发者协作,尤其在开源项目中。它也支持私有化部署(GitHub Enterprise Server)。
- 尹老师提到:“但凡是你想做一些开源的东西啊,那其实都是需一般来讲也不叫都是大家都会把代码放到GitHub上。就包括像比较火的这个问题,本身有deep产生的这个问题,那deep也是把它一些共享的一些东西啊,包括前两天跟共享的什么4S那些东西也是放在up b上”。[此处"deep"和"4S"指代不明,原文信息有限]
- Copilot: 英文原意为“副驾驶”。微软的中文宣传中也常称之为“GitHub副驾驶”。
Copilot 的核心定位:编程副驾驶
- 尹老师强调,Copilot 本质上是一个辅助性的编程工具,是“副驾驶”,而非能完全独立完成复杂项目的“主驾驶”。
- “任何一个AI的这种编程助手,其实都本质上讲都是一个辅助性的一个编程工具。”
- “你要真正构建一套呃一个真正的一个呃服务,就是从前端到后端整个一体系包整个体系这样的东西,包括你要把它部署上去,包括这些所有的东西,你是不在当前阶段是不太可能就是完全完成的。”
- 尽管如此,自2021年发布以来,Copilot 的能力已大幅提升,能处理远超初期的复杂任务。
面向用户:从开发者到普通用户
- GitHub Copilot 官网将其定义为:“AI编辑器每适用于每个人的AI编辑 (AI editor for everyone)”。
- 这意味着即使用户是完全没有编程经验的小白,也可以利用 Copilot 将工作中的机械性、重复性问题通过编程方式解决。
- “Copilot帮助你去编程,然后通过编程的方式去解决你工作中的很多问题。”
GitHub Copilot 的核心功能与应用场景
主要功能概览
- 根据上下文生成代码建议。
- 对多个文件进行大规模修改,Copilot 能分析文件间的依赖和调用关系。
- 针对代码库进行提问和理解(基于本地代码语义索引)。
- 代码重构和改进(例如,将 Python 2 代码升级到 Python 3)。
- 修复代码问题和辅助调试。
- 生成新项目和文件的框架。
- 生成单元测试。
- 最终目标是提高效率。
针对零基础用户
- 尹老师提到,Copilot 可以帮助零基础用户完成一些常见任务,效果可能优于市面上的“9.9元Python课”。
- 例如:日常文件处理、数据可视化图表生成。
- “现在你用Copilot,其实你一毛钱都不用花,Copilot就可以帮你去做这些事情。那你只要把你的诉求告诉他,他给你写成脚本,那你直接执行就行了,非常简单。”
实践准备与版本选择
安装与配置
- 下载并安装 VS Code。
- 在 VS Code 插件市场搜索并安装 Copilot 和 Copilot Chat 插件。
- 使用 GitHub 账号登录。
版本与定价策略
- Free 版本:
- 适用于个人用户或非专业开发者。
- 功能基本齐全,尹老师当日演示的功能 Free 版大多拥有。
- 额度:每月50次聊天,每月2000次代码补全。对于非程序员基本够用。
- Pro 版本:
- 适用于个人开发者。
- 价格:每月10美元 (约70元人民币)。
- 聊天和补全等功能无限使用。
- Business 和 Enterprise 版本:
- 面向企业用户。
- 核心区别:企业版承诺不使用客户代码进行模型训练或微调,数据在请求响应后即删除,是无状态服务。
- 提供细粒度的版本控制和账户管理(如SSO绑定、限制账号登录场景)。
- 可以设置策略,如要求生成的代码必须是AI完全原创,避免侵犯知识产权。
实战技巧演示 (Demos)
尹老师通过多个实际操作案例展示了 Copilot 的应用。
场景一:个人办公自动化 - Excel 数据处理与可视化
- 任务背景: 处理一个包含从2021年到2025年每小时温度记录的 Excel 文件(约2万多行数据)。
- 读取 Excel 文件。
- 按星期为单位聚合数据,计算每周的平均温度。
- 将聚合后的数据保存为 CSV 文件。
- 绘制按星期显示的温度趋势折线图 (交互式 HTML 格式)。
- 在同一张图中,按年份叠加显示每年的温度趋势(不同年份用不同颜色折线),横坐标为一年内的星期数,用于观察气候变化。
- 操作过程:
- 在 VS Code 中创建 Python 文件 (文件名
A P.py,推测为app.py或类似名称)。 - 通过自然语言逐步向 Copilot Chat 提出需求,Copilot 逐步生成 Python 代码。
- 交互与纠错:
- 初次读取文件时,Copilot 甚至主动生成了基础的 PNG 格式绘图。
- 在指定列名时,通过向 Copilot明确 Excel 表中的标题为“日期”和“温度”,解决了
KeyError。 - 在生成 HTML 图表时,手动修正了 Copilot 将列名“温度”误写为“气温”的错误。
- 结果: 成功生成了符合要求的 CSV 数据文件和交互式 HTML 图表。
- 在 VS Code 中创建 Python 文件 (文件名
- 辅助功能展示:
- 选中代码,使用
Ctrl+I要求 Copilot “修改所有的注释为中文”。 - 在聊天窗口
@workspace并提问“请仔细的解释这个程序”,Copilot 会详细解释代码逻辑。也可选中特定代码段要求解释。
- 选中代码,使用
场景二:个人办公提效 - 基于图像生成代码 (视觉能力)
- 任务背景: 根据一张架构图,生成在 Azure 云上部署该架构的 Terraform 脚本。
- 操作过程:
- 将架构图截图。
- 在 Copilot Chat 中粘贴该图像。
- 发出指令:“请基于这个架构图生成在Azure云上部署这套服务的Terraform脚本”。
- 初次尝试失败,尹老师调整了问法:“请基于这个架构生成脚本,直接把脚本写出来即可”,随后成功。
- 尹老师解释,Copilot 包含“负责任的AI”机制,有时会对指令进行规范性判定,更换问法或重试可能解决问题。
- 结果: Copilot 成功生成了 Terraform 脚本。
- 扩展能力: 尹老师提到,Copilot 同样可以解释图表、根据网站截图生成前端代码、根据App截图生成对应的 Android 或 iOS 代码。Copilot 支持在 Android Studio、Xcode 等 IDE 中使用。
- 语音输入: 提及了 Copilot 支持语音聊天功能。
场景三:项目代码维护 - 批量修改现有工程 (贪吃蛇游戏)
- 任务背景: 改进一个已有的简单贪吃蛇游戏,该游戏存在多个问题:
- 背景色为黑色,体验不佳。
- 吃到食物后无任何特效。
- 蛇初始化后立即向右移动,容易“撞墙”。
- 没有计分功能。
- 需求:
- 修改背景色。
- 增加吃食物后的闪光特效。
- 修改初始化行为,蛇不立即移动。
- 增加计分功能。
- 操作过程:
- 在 VS Code 中打开包含 HTML, CSS, JS 文件的游戏项目。
- 将上述需求列表(增加了1,2,3,4编号以增强条理性)复制到 Copilot Chat 的多文件编辑模式中。
- Copilot 分析了项目文件,并针对性地在 HTML (增加积分显示)、JS (修改游戏逻辑、增加特效、计分)、CSS (修改背景色) 文件中提出了修改建议。
- 尹老师接受了所有建议。
- 结果: 刷新游戏后,所有需求均一次性成功实现。尹老师提到此次使用的是 GPT-4o 模型(原文称“4O”)。
场景四:智能代码联想与修改 - 上下文感知 (3D坐标点类)
- 任务背景: 演示 Copilot 如何在开发者修改代码定义时,自动感知上下文并联想修改相关代码。
- 操作过程:
- 在新的 Python 文件 (文件名
慢点P1,推测为main.py或类似名称) 中,通过注释引导 Copilot 生成一个表示“平面上的点的类” (Point类,包含x,y属性和计算两点距离的get_distance方法)。 - 实例化两个点并计算距离,运行确认无误。
- 核心修改: 将类定义的注释从“平面上的点的类”修改为“立体空间中的点的类”。
- Copilot 随即:
- 提示在类属性中增加
z轴 (Tab键接受)。 - 提示修改
__init__方法以包含z(Tab键接受)。 - 提示修改
get_distance方法以适应三维空间计算 (Tab键接受)。 - 提示修改实例化点的代码以包含
z坐标 (其中一个点的z坐标需要手动补全)。 - 提示修改
get_distance方法的注释以反映3D。
- 提示在类属性中增加
- 结果: 仅通过修改注释和按 Tab 键接受建议,大部分代码自动更新为3D版本。
- 在新的 Python 文件 (文件名
场景五:个性化 AI 助手 - 自定义 Copilot 行为与语气
- 任务背景: 让 Copilot 在生成代码和解释时,使用更可爱的语气,并遵循特定的注释规范。
- 操作过程:
- 在项目根目录下创建
.github/CopilotInstructions.md文件。 - 在该文件中写入指令:
- “回答说用可爱的语气。”
- “并且以emo结尾 例如这样子 😊” (原文为emo,演示中是表情符号)
- “生成的函数必须带有注释,且注释要包含功能描述,且注释要中文吧。”
- 重新让 Copilot 生成之前的3D坐标点类。
- 结果1 (代码生成): 生成的类和方法都带有了中文注释。
- 让 Copilot 解释生成的代码。
- 结果2 (代码解释): Copilot 的解释文本语气变得更“可爱”,并且句末带上了指定的表情符号。
- 在项目根目录下创建
- 应用扩展: 此方法可用于约束代码风格(如驼峰式、下划线式)、指定优先使用的库、特定函数命名方式等。更细致的配置也可在
.vscode/settings.json中进行。
GitHub Copilot 在协作场景中的应用
代码审查 (Code Review)
- 可以将 Copilot 添加为 GitHub 上 Pull Request (PR) 的审查者。
- 简单场景: Copilot 可以分析 PR 中的代码变更,并给出总结。尹老师展示了一个他人的贡献,Copilot 进行了分析,他确认后合并。
- 复杂场景/问题代码: 如果合入的代码存在问题(如不规范的SQL语句),Copilot 不仅能指出问题,还能自动提出修复建议,可以直接采纳并提交。
云端开发与需求实现 (GitHub Workspaces)
- 对于一些需求,可以直接在 GitHub 云端完成,无需将代码拉到本地。
- 演示案例: 为一个已有的计算器项目(包含加法、减法功能)增加乘法功能。
- 在 GitHub Issue 中提出“增加乘法运算”的需求。
- 使用 GitHub Workspaces 打开该 Issue。
- Copilot 自动进行“头脑风暴”,分析仓库文件,识别出需要在哪些文件(逻辑代码、主程序调用、单元测试)中进行修改。
- 用户确认头脑风暴结果后,Copilot 生成详细的“修改计划 (plan)”。
- 用户确认计划后,Copilot “实现 (implement)”这些修改,自动更改相关文件代码。
- 修改完成后,可以直接创建 PR。
- 尹老师进一步演示,在当前基础上继续提出“增加除法运算”,Copilot 再次执行分析、计划、实现流程。
- 其他应用: Workspaces 也可用于分析 Issue,或直接打开 PR 进行审查和修改。
GitHub Copilot 生态系统与企业级特性
广泛的 IDE 与模型支持
- IDE: 支持 VS Code, Eclipse, Android Studio, Xcode, JetBrains系列 IDE, Visual Studio 等。尹老师称其为“跨平台最多的这么一个编程助手”。
- 模型: 支持多种模型,包括 GPT-4o (演示中称为“4O”)、GPT-3.5 等。代码补全和聊天均可选择不同模型。
云端高级功能
- GitHub Workspaces (已演示)。
- 自定义模型 (Fine-tuning,主要面向企业版用户)。
- 在线知识库。
- AI 漏洞修复:扫描安全漏洞并由 AI 直接修复。
企业级合规性与数据管理
- 微软非常注重合规性。
- 管理员可以配置策略,如“不允许推荐你的公共代码”(指可能侵犯他人知识产权的公开代码)。
- 强调合规性、隐私性和用户管控能力,对企业用户是重要考量。
- 数据流动: 用户在 IDE 中的输入,会经过一个服务层代理(进行认证、内容合规性检查等),再与 AI 大模型交互。
使用情况度量与分析
- 企业版用户可以访问一个 Dashboard,用于度量 Copilot 的使用情况。
- 可分析维度: 不同组织、团队、编程语言、编辑器的使用频率和组合情况。
- 价值: 帮助企业了解内部技术栈分布、不同工具的使用情况,为培训等决策提供数据支持。
问答环节 (Q&A)
-
问题1: Copilot 能否学习项目的说明文档,并基于此进行问答?
- 尹雪峰老师: 可以。
- 提示词工程: 将项目文档、规则规范写入
.github/CopilotInstructions.md文件。Copilot 在后续交互中会将其作为上下文。这不改变模型本身。 - 模型微调 (Fine-tuning): 针对 GitHub 企业版用户。将代码仓库上传至 GitHub,可基于仓库代码对模型进行微调训练,生成一个专属的模型 URL 配置到 Copilot 中。这样,公司内部人员使用的 Copilot 就能更好地理解和补全企业内部的库和代码。
- 提示词工程: 将项目文档、规则规范写入
- 尹雪峰老师: 可以。
-
问题2: GPT-4o (原文“4O”) 和其他模型的区别?
- 尹雪峰老师: GPT-4o 是目前正式发布、无限使用的模型,适用于日常和大部分问题(如当天演示基本使用4o)。其他一些高级模型(如 GPT-4.5, Claude 3 系列,原文提及“O1O3”和“cloud三点”,推测指Claude 3 Opus等)可能处于预览 (Preview) 阶段,会有使用限制(例如“每12小时也只能用十次”),因为单次对话成本较高。如果遇到复杂场景,4o 难以解决时,建议尝试更高级的模型。
-
问题3: GitHub Copilot Free 版本在中国是否可以使用?
- 尹雪峰老师: “是可以使用的是可以使用的。”
总结核心观点
GitHub Copilot 作为一个强大的“编程副驾驶”,通过其先进的AI能力,不仅能为专业开发者提效,也能赋能非编程背景的用户解决实际问题。其实战演示覆盖了从个人办公自动化、代码辅助编写与修改、到团队协作中的代码审查与云端开发等多个方面,展现了其广泛的适用性和易用性。结合其多版本选择、企业级特性和持续进化的能力,Copilot 正在成为现代软件开发和日常工作中不可或缺的智能助手。