GitHub Copilot My Work面板:打造个人开发上下文管理中心

📅 2026/8/23 9:06:38
GitHub Copilot My Work面板:打造个人开发上下文管理中心
在实际开发工作中我们每天都会产生大量的代码片段、待办事项、调试笔记和临时想法。这些零散的信息如果得不到有效管理很快就会淹没在聊天记录、本地文件和大脑的临时记忆中导致效率低下和上下文丢失。GitHub Copilot 作为一款 AI 编程助手其核心价值远不止于代码补全。它的My work面板功能正是为了解决开发者个人工作流中的信息管理痛点而设计的。它允许你将与项目相关的所有上下文——代码片段、错误信息、需求描述、甚至非代码的笔记——集中在一个地方并让 Copilot 基于这些上下文提供更精准的协助。对于初学者而言理解并熟练使用 My work 面板意味着能将 Copilot 从一个被动的代码提示工具转变为一个主动的、理解你当前工作上下文的智能伙伴。本文将带你从零开始深入探索 GitHub Copilot 的 My work 面板。你将学会如何创建和管理工作区如何有效地添加和组织工作项以及如何在实际编码、调试和学习场景中利用这些上下文让 AI 助手真正融入你的开发流程提升从构思到实现的效率。1. 理解 My work 面板你的个人开发上下文管理中心在深入操作之前我们需要先厘清 My work 面板的核心概念及其在开发工作流中的定位。这不仅仅是 Copilot 的一个功能标签更是一种新的工作组织方式。1.1 My work 是什么为什么需要它GitHub Copilot 的常规模式是“反应式”的你写代码它根据当前文件和相邻行的上下文给出建议。然而很多开发任务依赖于更广泛的、非线性的上下文。例如多文件关联你正在实现一个功能其逻辑分散在controller、service和model等多个文件中。复杂需求产品经理给了一段冗长的需求文档你需要从中提炼出 API 接口的设计。错误排查你遇到了一个运行时异常错误栈涉及多个模块你需要记录下错误信息和你的排查假设。学习新库你正在阅读某个开源库的文档并尝试写一些示例代码。My work 面板就是一个专属于你的、可持久化的“便签板”或“工作区”。你可以把上述所有类型的上下文信息文本、代码、链接以“工作项”的形式保存进来。之后当你在任何文件中编码时Copilot 会主动参考你当前激活的工作区中的所有内容从而生成更贴合你整体目标的建议。1.2 核心概念工作区与工作项My work 面板的架构基于两个核心概念理解它们对有效使用至关重要工作区一个顶级的容器通常对应一个项目、一个功能模块或一个学习主题。例如你可以创建名为“用户认证微服务重构”、“React Dashboard 性能优化”或“学习 TensorFlow Lite”的工作区。你一次只能激活一个工作区Copilot 会基于这个激活的工作区提供上下文。工作项工作区内的具体内容单元。它可以是代码片段从现有文件中拖拽进来的代码或者手动粘贴的代码。文本笔记需求描述、设计思路、待解决的问题、学习要点。错误信息从终端或日志中复制的异常堆栈。参考链接相关文档、PR 或 Issue 的 URL。工作项之间是平级的但你可以通过描述和标签来建立它们之间的逻辑关联。所有工作项共同构成了 Copilot 理解你当前任务的“背景知识库”。1.3 与普通聊天的区别你可能会问这和直接与 Copilot Chat 对话有什么区别关键在于持久性和主动性。聊天是临时、线性的对话。关闭聊天窗口后上下文通常不保留除非手动保存。且你需要主动提问。My work是持久、结构化的知识库。上下文始终存在并可随时编辑。Copilot 在代码补全时就会主动应用这些上下文无需你每次重复说明。简单来说My work 是你为 Copilot 设置的“长期记忆”而聊天是“短期交流”。2. 环境准备与基础配置要使用 My work 功能你需要确保 Copilot 已正确安装并拥有必要的权限。以下步骤将引导你完成准备工作。2.1 安装与激活 GitHub CopilotMy work 是 GitHub Copilot 的一项功能因此前提是拥有 Copilot 订阅并在你的编辑器中启用它。本文以 Visual Studio Code 为例。安装 VS Code 扩展 在 VS Code 的扩展市场搜索 “GitHub Copilot”由 GitHub 官方发布进行安装。登录并授权 安装后VS Code 状态栏会出现 Copilot 图标。点击它并选择 “Sign in to GitHub”。浏览器会打开引导你完成 GitHub 账号的登录和 Copilot 订阅的授权流程。确保你的账号拥有有效的 Copilot 订阅个人、商业或教育版。验证激活 登录成功后状态栏图标应显示为正常状态。你可以通过快捷键默认为CtrlI或CmdI触发内联建议或打开一个代码文件测试基础补全功能是否工作。2.2 打开并认识 My work 面板在 VS Code 中你有多种方式打开 My work 面板命令面板按下CtrlShiftP(Windows/Linux) 或CmdShiftP(Mac)输入 “Focus on My work View”然后回车。侧边栏图标在 VS Code 左侧活动栏找到 GitHub Copilot 的图标通常是一个帆船形状点击它。在打开的 Copilot 视图中你会看到My work选项卡。快捷键目前没有默认快捷键但你可以在键盘快捷方式设置中为github.copilot.myWork.focus命令分配一个。打开后My work 面板通常分为三个主要区域工作区列表顶部或左侧显示你创建的所有工作区并有“新建工作区”的按钮。工作项列表中间主体部分显示当前激活工作区中的所有工作项。详情/编辑面板右侧或底部用于查看和编辑选中工作项的详细内容。2.3 基础配置检查在开始使用前建议检查两项设置以确保最佳体验上下文长度Copilot 能参考的上下文总量是有限的。在 VS Code 设置中搜索Copilot: Completion Context Length。对于 My work通常保持默认或设置为“High”即可这允许 Copilot 从你的工作区中摄取更多信息来生成建议。自动触发确保内联建议是自动触发的。在设置中搜索Editor: Suggest On Trigger Characters和GitHub Copilot: Enable Auto-Completions它们通常默认是开启的。3. 核心操作创建与管理你的工作流现在让我们进入实战环节从创建一个工作区开始逐步掌握 My work 面板的所有核心操作。3.1 创建并激活你的第一个工作区假设我们正在开发一个简单的待办事项TodoAPI 后端。新建工作区在 My work 面板点击 “ New workspace” 按钮。命名与描述名称Todo API Development。名称应简洁、具有描述性。描述可选但推荐开发一个基于 Node.js/Express 的 RESTful Todo API包含增删改查和用户认证。好的描述能帮助你和 Copilot 更快理解工作区的范围。激活工作区创建后该工作区会自动成为“激活”状态通常以高亮或勾选表示。Copilot 将开始使用此工作区中的内容作为上下文。3.2 添加与组织工作项工作区是空的我们需要填充内容。以下是几种添加工作项的方式方式一从编辑器直接拖拽代码最常用在 VS Code 中打开你的项目文件例如models/Todo.js。用鼠标选中一段关键代码例如 Todo 模型的 Mongoose 模式定义。直接将选中的代码从编辑器拖拽到 My work 面板的工作项列表区域。松开鼠标一个新的代码工作项就创建好了。系统会自动为它生成一个标题通常是文件路径你可以点击它进行编辑改为更易读的名字如Todo Mongoose Schema。方式二手动创建文本或代码工作项在 My work 面板中点击 “ Add new item” 或类似的按钮。选择类型如Text或Code。在打开的编辑框中粘贴或输入内容。对于文本项可以粘贴需求“用户必须能创建、读取、更新和删除他们自己的待办事项。每个事项有标题、描述、完成状态和创建时间。”对于代码项可以粘贴你计划实现的函数签名或接口定义即使它还不存在。方式三从错误/终端中捕获信息当你在终端遇到一个错误时选中错误信息右键点击选择 “Copilot: Add to My work”如果此命令可用或手动复制后以文本工作项形式添加。命名为Error: MongoDB connection refused。组织技巧命名规范使用动词开头或名词短语如API Spec - Get Todos,Bug - Duplicate ID on POST,Learning - JWT Auth Flow。利用描述字段在每个工作项的编辑界面都有描述框。可以在这里补充更多细节例如这个代码片段为何重要或这个待解决的问题的当前假设。排序你可以通过拖拽来调整工作项的上下顺序。将当前最相关、最重要的项放在顶部。3.3 在工作项中与 Copilot 交互工作项不仅是静态记录你还可以直接在里面与 Copilot 协作。点击一个文本工作项例如“需求描述”进入编辑模式。在描述或内容末尾你可以直接向 Copilot 提问。例如在需求描述后面新起一行写上// Copilot: based on this, generate a sample Express route for creating a todo.将光标放在这行注释后面按下CtrlI触发建议。Copilot 会结合整个工作区的上下文包括你之前添加的模型代码来生成一个匹配的路由处理函数。3.4 切换、归档与删除工作区切换工作区点击工作区列表中的其他工作区名称即可激活它。你的编码上下文会立即切换到新工作区的内容。归档工作区对于已完成的长期项目可以点击工作区旁边的菜单通常是...选择 “Archive”。归档的工作区会从主列表移出便于整理但内容仍被保存未来可恢复。删除工作区同样在菜单中选择 “Delete”。此操作不可逆会删除该工作区及其所有工作项。4. 实战演练用 My work 驱动一个开发场景让我们通过一个完整的迷你场景将上述操作串联起来感受 My work 如何提升实际开发效率。场景为我们的 Todo API 添加一个“按关键词搜索待办事项”的功能。4.1 阶段一规划与上下文准备激活工作区确保Todo API Development工作区是激活状态。添加需求工作项新建一个文本工作项标题为Feature: Search Todos。内容为“新需求用户需要能根据标题或描述中的关键词搜索自己的待办事项。搜索 API 端点应为GET /api/todos/search?qkeyword。返回匹配的待办事项列表。”关联现有代码从你的routes/todo.js文件中将现有的GET /api/todos路由处理函数用于列出所有待办事项拖拽到 My work 中。重命名为Existing Route - List Todos。从models/Todo.js中将 Todo 模型的 Mongoose 模式定义再次确认已存在我们在 3.2 步已添加。4.2 阶段二利用上下文生成代码现在开始实现搜索路由。在 VS Code 中打开或创建routes/todo.js文件。在现有路由下方开始输入新路由router.get(/search, async (req, res) {在你输入async (req, res) {并换行后暂停输入。Copilot 会开始给出建议。关键观察由于 My work 中激活的工作区包含了Feature: Search Todos的需求描述和Existing Route - List Todos的代码风格Copilot 生成的建议会显著不同。没有 My work它可能只会生成一个通用的空函数体。有 My work它极有可能直接生成一个利用了req.query.q、并对Todo模型执行find查询、使用$regex进行模糊匹配的完整函数体其错误处理风格也会与你现有的list路由保持一致。接受 Copilot 的合理建议最终代码可能类似router.get(/search, async (req, res) { try { const { q } req.query; if (!q) { return res.status(400).json({ message: Search query parameter q is required }); } // 从 My work 中的上下文Copilot 知道 userId 来自认证中间件 const todos await Todo.find({ userId: req.user.id, $or: [ { title: { $regex: q, $options: i } }, { description: { $regex: q, $options: i } } ] }); res.json(todos); } catch (error) { console.error(Search todos error:, error); res.status(500).json({ message: Server error during search }); } });4.3 阶段三调试与知识沉淀假设测试时你发现搜索中文关键词无效。捕获问题将终端中的错误信息或测试失败的描述作为一个新的文本工作项添加到 My work标题为Bug: Chinese search not working。研究并记录你通过搜索得知MongoDB 的$regex对中文模糊搜索需要特定配置。你将找到的解决方案摘要例如“对于非拉丁字符需确保数据库集合的排序规则或使用文本索引”添加到该工作项的描述中。基于上下文修复现在当你回到路由文件将光标放在$regex附近并尝试修改时Copilot 可能会结合你刚添加的Bug工作项给出关于创建文本索引或使用$text$search运算符的建议。固化解决方案问题解决后将最终的、正确的搜索实现代码片段拖拽到 My work 中命名为Solution - Case-insensitive text search for Chinese。这为未来类似问题积累了知识。通过这个流程My work 不仅辅助了代码生成还贯穿了需求理解、代码编写、问题排查和知识管理整个闭环。5. 高级技巧与最佳实践掌握了基本操作后遵循一些最佳实践能让 My work 的威力倍增。5.1 工作项内容的质量准则保持精炼相关不要倒入整个文件。只添加最关键的函数、类定义、接口或错误信息。冗长的无关代码会稀释上下文的有效性。结构化描述在文本工作项中使用清晰的标题、列表和分隔符。例如目标实现用户登录限流。 原因防止暴力破解。 方案 1. 使用 express-rate-limit 中间件。 2. 对 /api/auth/login 端点生效。 3. 限制每 IP 每小时 10 次尝试。包含“负向”信息记录什么不能做或已知的限制例如“注意update接口不允许修改createdBy字段。”5.2 工作区的组织策略按项目/功能划分这是最自然的方式。一个项目一个主工作区。按学习主题划分例如 “Learning Redis Caching Patterns”专门存放 Redis 相关的代码示例和笔记。临时工作区用于一次性调查或调试用完后可以归档或删除。命名规范使用一致的命名如[Project]-[Module]或[Type]-[Topic]。5.3 与 Copilot Chat 的协同使用My work 和 Copilot Chat 是绝佳组合。Chat 用于探索当你在 My work 中看到一个复杂的工作项时可以选中它然后右键选择 “Open in Chat”。Copilot Chat 会以此内容为起点与你进行深入对话帮你拆解问题或生成更多代码。Chat 结果保存至 My work在 Chat 中得到了一个完美的解决方案或解释你可以将对话中有价值的部分通过 Chat 界面提供的 “Add to My work” 按钮保存回当前工作区。5.4 性能与上下文管理上下文窗口限制记住所有 AI 模型都有上下文令牌限制。如果一个工作区变得过于庞大例如几十个冗长的工作项最旧或最不相关的内容可能会被“挤出”上下文窗口影响建议质量。定期清理定期回顾工作区归档或删除已解决、过时的工作项。保持工作区聚焦于当前活跃任务。拆分大型工作区如果一个项目非常大考虑按核心模块拆分成多个工作区如Project-Auth,Project-API-Gateway并在需要时切换。6. 常见问题与排查即使正确配置你也可能会遇到一些问题。以下是常见问题的排查路径。问题现象可能原因检查与解决步骤My work 面板空白或无法加载1. Copilot 未正确认证。2. VS Code 或 Copilot 扩展需要更新。3. 网络问题。1. 检查 VS Code 状态栏 Copilot 图标状态尝试重新登录 (GitHub Copilot: Sign Out再Sign In)。2. 检查 VS Code 和 GitHub Copilot 扩展更新。3. 检查开发者工具控制台 (Help - Toggle Developer Tools) 是否有网络错误。拖拽代码到 My work 无效1. 当前编辑器没有焦点或选中内容为空。2. 拖拽目标区域不正确。1. 确保在代码编辑器中选中了有效文本。2. 拖拽时确保鼠标移动到 My work 面板的工作项列表区域看到“添加”提示再松开。Copilot 建议似乎没有参考 My work 内容1. 错误的工作区被激活。2. 工作区内容过于庞大或陈旧相关上下文被挤出。3. 代码位置与工作项关联度低。1. 确认 My work 面板顶部显示的是正确的工作区名称。2. 尝试精简工作区将最关键的工作项移到顶部。3. 在代码编辑器中尝试触发建议的位置更靠近与工作项相关的逻辑部分。无法创建新工作区或添加工作项1. 可能是临时的服务端或本地缓存问题。2. 权限问题极少数情况。1. 重启 VS Code。2. 在命令面板运行GitHub Copilot: Clear Cache并重启。工作区同步问题在多台机器上My work 数据可能未正确同步。1. 确保在所有机器上使用同一个 GitHub 账号登录 Copilot。2. 检查 VS Code 的设置同步是否开启并包含了“扩展”数据。Copilot 工作区数据通常通过其自身服务同步但 VS Code 同步可能影响扩展状态。排查黄金法则当遇到问题时首先检查 Copilot 的基础功能如普通代码补全是否正常。如果不正常问题根源通常在认证、网络或扩展本身。如果基础功能正常而 My work 异常则重点检查工作区的激活状态和内容。7. 生产环境下的使用建议将 My work 用于个人或小团队开发学习非常有效但在接近生产环境的严肃项目中需注意以下事项敏感信息切勿将密码、API密钥、令牌、数据库连接字符串、真实的服务器IP或任何其他敏感信息放入 My work。工作区内容可能会同步到云端取决于 Copilot 的数据处理策略存在潜在风险。始终使用环境变量或配置管理工具。代码所有权与许可确保你添加到 My work 中的代码片段是你有权使用和分享的。避免引入受严格许可证保护的第三方代码。作为辅助而非源头My work 是你思维的延伸和上下文的记录不应作为项目唯一的文档或设计文档。重要的架构决策、API 契约和核心算法仍应使用正式的文档、代码注释或项目管理工具来记录。团队协作目前 My work 本质上是个人工具。对于团队共享的上下文应依赖项目文档、共享的代码库、Wiki 或团队协作文档。你可以将 My work 中沉淀的精华部分手动整理到这些共享媒介中。最终My work 面板的价值在于它无缝地连接了你的思考、学习和编码过程。通过有意识地将碎片信息结构化你不仅是在管理任务更是在训练你的 AI 助手让它更深入地理解你的项目和你的编码风格。从今天开始尝试为你的下一个开发任务或学习主题创建一个工作区有目的地积累上下文你将直观地感受到这种工作流带来的流畅感和效率提升。