需先打开含源码或.git的本地工作区文件夹,再通过“copilot: open chat”调用@modernize-dotnet智能体并等待“ready in workspace”提示;未绑定工作区则无法加载评估模块。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要快速掌握 GitHub Copilot v2.0 中智能体(Agent)与工作区(Workspace)功能的实际操作路径,而不是泛泛了解更新亮点。当前版本已将智能体行为深度绑定工作区上下文,脱离工作区启动的智能体默认无法读取项目结构、依赖文件或 git 状态。
启用新版智能体并绑定当前工作区
在 VS Code 中确保已打开一个有效的本地工作区文件夹(非空文件夹,含 .git 或至少一个源码文件)。【未打开工作区时,@modernize-dotnet 智能体将拒绝加载评估模块】
按下 ⇧⌘P(macOS)或 Ctrl+Shift+P(Windows/Linux),输入 “Copilot: Open Chat”,回车打开聊天面板。
在聊天输入框中键入 @modernize-dotnet 并按空格,此时状态栏会显示 “Loading agent context…”,等待约 2–4 秒,直到右下角出现绿色对勾图标和 “Ready in workspace: my-project” 提示。
这一步不可跳过:若直接输入自然语言指令而未先提及智能体名称,系统将调用默认通用助手,无法触发 .NET 专项评估逻辑。
切换智能体工作模式:自动 vs 引导
模式切换必须在智能体已加载且处于空闲状态时执行(即上一条指令已完成,聊天框底部无“…”加载提示)。
方法一:快捷指令切换
在聊天框中输入 /mode auto 启用自动模式;输入 /mode guided 切换为引导模式。输入后无需回车,Copilot 会立即响应并确认当前模式。
方法二:设置面板调整
打开设置(⌘,),搜索 “copilot agent mode”,找到 “Copilot > Agent: Default Mode”,下拉选择 “guided” 或 “auto”。该设置仅影响新启动的智能体会话,对当前会话无效。
抓取指定 GitHub用户的 Stars 项目,生成标准化中文 Markdown 报告。用户提及「分析 GitHub stars」「导出收藏项目」「汇总 GitHub 星标」「生成 stars 报告」或粘贴含 ?tab=stars 的链接时触发。执行通过 bash...
【引导模式下,每个阶段结束时智能体强制暂停,等待你输入 /continue 才继续;自动模式下,仅当检测到权限缺失(如无写入权限)或 git 冲突时才会中断】
让智能体识别并利用工作区特征
第一步:确认工作区元数据已就绪
在聊天中输入 /status,观察返回内容是否包含 “Solution file: MySolution.sln”、“Target framework: net8.0”、“EF Core version: 8.0.4” 等字段。若只显示 “No solution detected”,说明智能体未成功解析项目结构,需检查是否遗漏 .sln 文件或全局 json 配置。
第二步:显式提供关键约束
例如升级项目时,不要说 “帮我升级”,而应写:“升级 WebApi.csproj 到 net10.0,保留 ASP.NET Core 8 兼容性层,不修改 Program.cs 的 HostBuilder 初始化方式”。【缺少目标框架和兼容性声明,智能体会默认执行破坏性升级,删除旧版中间件注册代码】
第三步:验证文件访问权限
输入 /list files src/,查看是否列出所有子目录及 .cs 文件。若返回 “Access denied to folder src/”,说明 VS Code 工作区未授予 Copilot 文件系统读取权限,需点击右下角通知栏中的 “Allow access” 按钮重新授权。
多工作区协同场景下的智能体隔离控制
当你在 VS Code 中同时打开多个窗口(每个窗口对应独立工作区),Copilot 智能体默认完全隔离——A 窗口的智能体无法看到 B 窗口的任何文件或 git 状态。
若需跨工作区操作(例如同步更新两个微服务的共享 SDK 版本),必须手动切换上下文:
① 在窗口 A 的 Copilot 聊天中输入 /switch-to-workspace ../shared-sdk
② 等待状态栏更新为 “Active workspace: shared-sdk”
③ 输入指令,如 “将 Version.props 中的 PackageVersion 更新为 3.2.1”
④ 完成后输入 /switch-back 返回原工作区
注意:/switch-to-workspace 后的路径必须是相对于当前工作区根目录的相对路径,不能使用绝对路径或 ~ 符号。










