文章目录
  1. 1. 前言
  2. 2. Copilot
  3. 3. Copilot安装
  4. 4. Completions
  5. 5. Prompt
  6. 6. Chat
    1. 6.1. Ask Mode
    2. 6.2. Agent Mode
    3. 6.3. MCP
      1. 6.3.1. Extending Copilot MCP Servers
        1. 6.3.1.1. Using GitHub MCP Registery
        2. 6.3.1.2. Configuring MCP servers manually
    4. 6.4. Coding Agent
    5. 6.5. Copilot Skills
    6. 6.6. 多模型选择
    7. 6.7. Code Review
    8. 6.8. Copilot CLI
      1. 6.8.1. Copilot CLI MCP Server
    9. 6.9. Copilot付费
  7. 7. Github地址
  8. 8. Reference

前言

AI编程工具盛行,学习AI编程工具的使用和底层原理是很有必要的,在AI工具通过多方面考量和对比市面上的AI编程工具,决定选择Copilot作为深入AI编程学习的切入口,本章节是为了详细记录AI编程工具的使用和深入学习AI编程相关概念。

Copilot

GitHub Copilot是GitHub和OpenAI合作开发的一个人工智能工具,用户在使用Visual Studio Code、Microsoft Visual Studio、Vim、Cursor或JetBrains集成开发环境时可以通过GitHub Copilot自动补全代码。Copilot的OpenAI Codex接受了一系列英语语言、公共 GitHub 存储库和其他公开可用源代码的训练。这包括来自 5400 万个公共 GitHub 存储库的 159 GB Python 代码的过滤数据集。

从介绍可以看出Copilot主打的是基于代码的学习,提供代码AI自动补全的功能。

Copilot是微软旗下的,所以对Visual Studio,VS Code等微软IDE支持比较完善,下载VS时就自带集成Copilot。

支持基于Github大量代码学习的代码智能推断补全,支持Agent聊天问答,支持多个模型选择,支持代码Review等功能。

优势:

  1. 不用切换IDE,直接嵌入各大主流IDE
  2. 微软官方支持且基于Github的大量代码知识

Note:

  1. Copilot基础版免费,Pro版需要付费购买(10美元每月-个人推荐这个),Pro+(39美元每月)[https://visualstudio.microsoft.com/zh-hans/vs/pricing/?tab=paid-subscriptions])。

Copilot安装

  1. 官方下载带Copilot的Visual Studio 2022[https://visualstudio.microsoft.com/github-copilot/]

  2. 新建工程

  3. 右上角点击Github Copilot->打开聊天框

CopilotEntry

Note:

  1. Ctrl+Alt+L快捷键打开VSCode Copilot Chat

Completions

敲击代码,Copilot会根据代码智能推断即将编写的代码,敲击tab应用智能推断的代码

IntelligentPrompt

敲击注释,Copilot也会根据注释去推断即将编写的代码,敲击tab应用智能推断的代码

IntelligentPromptFromNotation

只接受一部分Copilot智能推断的代码,Windows上Ctrl+→按键

AcceptPartOfIntelligentPrompt

决定不启用智能推断的代码,点击Esc按键

Prompt

**Prompt(提示词)**可以帮助AI更加准确的理解我们的需求,给出更更准确的代码推断和需求编写。

前面的Completions提到注释描述给AI提示,以及Chat中提到针对代码片段的提问(Alt+I),在提问时我们通过自然语言准确描述需求比泛化的描述可以更加准确的让AI理解我们给出的指令,得到更准确的目标结果。

泛化的Prompt,比如注释描述”// Some Code”

此时无论是AI还是人其实都无法理解我们具体想做什么,所以AI并没与给出任何有效的代码推断

BadPrompt

好的Prompt,比如注释描述”// define a function that is used to compare to int value”

GoodPrompt

可以看到好的提示词成功让AI理解了需求并给出了准确的推断编写代码。

Chat

聊天模式氛围Ask Mode和Agent Mode

聊天模式切换:

AgentModeChosen

Ask Mode

AI提问模式交互,打开Copilot后,右下方有聊天窗口

CopilotInteraction

点击代码块右上方的应用则可以将Copilot生成的代码生成到我们的代码里

AICodeApply

在代码区点击**放弃(Alt+Del)**则可以放弃方才应用的代码

AICodeGiveUp

代码块交互聊天,选中需要询问的代码,按Alt+/

CodeSnippetChat

交互聊天有一系列的快捷操作指令

输入@会看到几个大方向或内容给AI作为参考

AtQuickCommand

输入#会看到可以在询问前添加相关文件作为给AI的参考文件

NumberSighQuickCommand

输入/会看到有内置支持的快捷代码操作指令(比如fix,optimization……)

SlashQuickCommand

想引入更多复杂类型的资源作为AI参考文件,可以通过+添加:

AddReferenceAttach

自动以快捷交互指令详情参考:

Customize chat responses and set context

Agent Mode

With the GitHub Copilot agent mode in Visual Studio, you can use natural language to specify a high-level task. AI creates a plan, makes code edits, runs terminal commands, invokes tools, and applies changes across your codebase. It monitors outcomes, such as build results, unit-test failures, or tool outputs, and iterates as needed.

Unlike ask mode, agent mode doesn’t stop after a single response. It continues running and refining steps until you reach the goal in your prompt or more input is required.

从介绍可以看出Copilot Agent Mode可以让我们通过自然语言区描述高阶任务需求,让AI使用特定工具自动化完成高阶任务需求。

Agent Mode工具选择:

AgentModeToolsChosen

比如指挥Copilot调用指定方法并应用代码。

FirstAgenModeUsing

相比Ask Mode生成的代码我们要选择应用,Agent Mode已经通过我的指令自动应用到了Program.cs文件里,同时Agent Mode还通过调用编译进行了生成代码的对错验证(工具自动化的使用是和Ask Mode的最大区别)。

Agent Mode可以通过选择保留和放弃去确认生成代码的去留。

当成功应用后,Copilot通过创建还原点,可以实现快速的放弃之前的操作

RevertAIAction

Note:

  1. 需要使用一些列工具进行自动化的操作推荐用Agent Mode
  2. 需要使用MCP Servers功能,必须使用Agent Mode而非Ask Mode

MCP

Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and services through a unified interface.

Using MCP, AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g. specialized prompts)—enabling them to access key information and perform tasks.

从介绍可以看出MCP是AI模型和外部工具交互的标准。

如果想通过外部工具扩展Agent Mode工作流,可以通过MCP引入外部工具。

MCPWorkFlow

通过调用外部工具和数据,我们就能实现更多的功能,无论是简单的周报总结,自动化测试,2D或3D模型资源生成等都成为了可能。

简单了解下MCP里的核心组成部分:

简单了解下MCP的分层设计:

MCP的详细设计这里暂时不深入追究,暂时知道MCP是一套通用的AI模型嗯哼外部工具交互的标准即可。

详情参考:

Use MCP servers

因为本人只买了Copilot Pro,没有买Claude Code付费版本,所以接下来MCP和Agent Skills都已Copilot使用学习说明。

Extending Copilot MCP Servers

查看可用的MCP servers repository:

Model Context Protocol servers

支持搜索支持的MCP servers repository:

Official MCP Registry

给VS Codo配置MCP servers要求VS Code版本大于1.99(感觉官方版本写错了,目前最新才1.108–2026/1/12)

MPC servers配置有两种方式:

  1. Using GitHub MCP Registery(这种方式只有MCP servers在MCP Registery的才能配置)
  2. Configuring MCP servers manually(这种方式可以自由配置MCP Server)
Using GitHub MCP Registery

使用GitHub MCP Registery步骤:

  1. 打开VSCode

  2. ctrl+shift+x打开插件界面

  3. 过滤选择里选择MCP Register

    VSCodeMCPFilter

  4. 然后直接再搜索里搜索想找的MCP Server,如果是第一次打开还需要先开启MCP Servers MarketPlace

    EnableMCPServersMarketplace

  5. 接下来搜索一个想找的MCP Server

    VSCodeCopilotGitHubMCPRegisteryInstall

  6. 这里点击Install即可安装对应MCP Server

这里我尝试安装MarkDown MCP Server但运行失败了:

  • 发现Markitdown MCP Server安装后启动失败了,原因是uvx安装没成功

    MarkitdownMCPServerInstallFailed

  • 我们通过uv官网的教程,在PowerShell里输入一下命令安装uvx:

    “powershell -ExecutionPolicy ByPass -c “irm https://astral.sh/uv/install.ps1 | iex””

    InstallUvxInPowerShell

    安装后需要自己设置uvx的环境变量,按安装后的提示输入命令或手动添加环境变量即可,后续VSCode里还是找不到注意重新打开VSCode。

    • 安装Uvx成功后,发现Markitdown还是运行不起来,于是我让Copilot Agent帮我分析原因,它通过调用”uvx markitdown –help”命令把所有相关的Python库都下载下来了。

    UvxPythonInstallation

  • 但最后依然运行不成功Markitdown,Copilot分析的结论是Python版本不对,为避免多个Python版本安装后出问题,这里不再继续了。

    UvxStartPythonVersionProblem

接下来以安装GitHub MCP Server为例:

  1. 打开插件(ctrl+shift+x)

  2. 设置过滤为MCP Server

  3. 搜索GitHub

  4. 点击安装

  5. 输入GitHub Authentication token(在Github个人设置页面->Developer Settings->Tokens)

    GitHubPersonalAuthenticationTokenInput

  6. 在Copilot Chat下方打开MCP配置工具查看GitHub MCP Server配置的工具结合

    CopilotConfigureTools

    可以看到GitHub MCP Server已经添加成功,相关工具也支持在Agent模式下通过GitHub MCP Server选择使用了。

  7. 接下来验证下通过Copilot+GitHub MCP Server我们是否能快速通过AI操作Github仓库相关东西

    CommitReadMeFileByGitHubMCPServer

    可以看到我们成功通过给Copilot输入命令,通过GitHub MCP Server的相关工具将README.md文件成功自动上传到了GitHub对应仓库。

Configuring MCP servers manually

VSCode支持两种MCP手动配置方式:

  1. .vscode/mcp.json用于给当前VSCode指定所有人能用的MCP服务器配置信息
  2. %APPDATA%/Code/User/settings.json里配置当前电脑通用的MCP服务器配置信息(但实际上我发现VSCode扩展里安装的好像是配置在%APPDATA%/Code/User/mcp.json文件)

这里重点学习下第一种给工程手动配置MCP Server的方式

  1. 在工程.vscode目录下新建mcp.json文件

  2. 打开mcp.json文件,点击Add Server按钮(VSCode提供了几种安装MCP的方式)

    WorkspaceMCPServerAdd

    VSCodeMCPInstallationMethods

  3. 这里使用手动添加mcp.json描述的方式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
    "servers": {
    "filesystem": {
    "command": "npx",
    "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "${workspaceFolder}"
    ]
    }
    }
    }
  4. 添加配置后会在对应Servers名字上方看到启动MCP Server的按钮

    StartFileSystemMCPServer

  5. 打开Copilot的Configure Tools可以看到我们成功运行FileSystem MCP Server后相关工具都被使用了

    FileSystemTools

  6. 接下来通过Copilot进行验证FileSytem MCP Server被正确安装和使用(将.vscode/mcp.json和***/User/mcp.json作为上下文文件进行提问)

    CreateMCPServerIntroductionByFileSystem

    MCPMarkDown

    MCPServerMarkdownContent

    上面这个例子因为有一些默认工具支持了目录的创建和文件的创建读写,导致并没有直接使用FileSystem MCP Server的相关工具

  7. 显示指定使用create_directory工具创建一个FileSystemCreatedDirectory目录

    CreateDirectoryByUsingFileSystemMCPServerTool

    FileSystemCreatedDirectory

    可以看到通过#显示的指定工具名,我们成功使用了FileSystem MCP Server的create_directory工具创建了名为FileSystemCreatedDirectory目录。

Note:

  1. 官方推荐相同MCP Server只在全局或本地一处添加,避免冲突
  2. .vscode/mcp.json当前VSCode级别的MCP也可以通过浏览扩展里的MCP进行安装
  3. MCP Server无需一开始就启动,当需要触发相关工具时,对应MCP Server会自动启动
  4. Copilot CLI和VS Code Copilot是独立的工具,他们不会共享MCP Server配置

Coding Agent

With Copilot coding agent, GitHub Copilot can work independently in the background to complete tasks, just like a human developer.

从介绍可以看出Coding Agent可以用于像人工一样自动化完成任务。

Copilot coding agent is distinct from the “agent mode” feature available in your IDE. Copilot coding agent works autonomously in a GitHub Actions-powered environment to complete development tasks assigned through GitHub issues or GitHub Copilot Chat prompts, and creates pull requests with the results. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment.

相比Agent Mode,Coding Agent能独立于IDE在Github环境下运行完成任务。

更多了解:

TODO

Note:

  1. Coding Agent是付费功能(Pro或Pro+等)

Copilot Skills

TODO

多模型选择

​ 打开Copilot聊天框正下方有底层AI模型选择

ChangeAIModel

Code Review

通常合作开发时,提交代码时代码review以往都是人工查看的,有了AI工具,Code Review也能实现AI自动化分析。

Visual Studio Code Review步骤:

  1. Github创建不同分支并推上去

  2. 在对应分支进行修改并提交

  3. 在Github上或者Git发出Pull Request请求

    GithubPullRequestOperation

  4. 在Github上Pull Request操作发起Copilot Review请求

    CopilotReviewRequest

  5. 等待AI Copilot Review完成则可看到AI Review结论

    CopilotReviewResult

Note:

  1. Code Review是付费功能(Pro或Pro+等)

Copilot CLI

The command-line interface (CLI) for GitHub Copilot allows you to use Copilot directly from your terminal.

Copilot CLI允许通过命令行界面使用Copilot,这一点很像Claude Code。

Copilot CLI安装:

  1. 打开PowerSheel(Windows)

  2. 输入 winget install GitHub.Copilot

    CopilotCLIInstallation

Copilot CLI使用:

  1. 在需要Copilot CLI访问的目录下打开PowerShell输入Copilot命令

    StartCopilotCLI

  2. 选择选项1(Yes)–表明信任Copilot CLI对当前目录的修改

  3. 输入/login(输入后按照操作流程一步一步登录账号即可) – 登录Github账号开始使用Copilot(本人买的Copilot Pro)

    LoginCopilotCLI

  4. 在Copilot里输入/help就可以像常规命令行一样看到所有可使用的命令介绍了

    HelpCommand

  5. 可以看到如果AI模型没选对,我们可以输入/model进入模型切换(部分AI模型需要Github Copilot后台开启才能使用)

    ChangeAIModel

  6. 提交Git采用人类语言描述即可

    CopilotCLIGitPush

    上传失败是因为命令行还没有配置SSH秘钥,这里需要安装OpenSSH Client

    PowerShell里输入”Get-Service ssh-agent”确认开启ssh-agent服务,如果未开启,输入”Start-Service ssh-agent”,如果开启报错,输入”Set-Service ssh-agent -StartupType Automatic”将ssh-agent的开启方式设置成自动,然后输入”ssh-add”输入SSH的秘钥即可

    OpenSSHClientAndSshAdd

    然后我们再次测试Copilot的Git上传,发现还是上传不了,询问Copilit说是Copilot CLI默认使用的不是SSH KEY而是HTTPS,需要安装GitHub CLI(输入”winget install –id GitHub.cli -e”命令安装)然后使用gh相关命令(输入”gh auth login”命令登录)登录GitHub授权(注意网页版通过授权,网页版要求填的码需要Ctrl+R或者Ctrl+O打开Copilot的详情信息才能看到)

    GitHubCLILogin

    然后我们再次测试Copilot的Git上传,这次终于通过Copilot上传GitHub成功了

    CopilotGitHubCommitAndPush

Copilot CLI使用详情参考:

Using GitHub Copilot CLI

命令行查看Token使用情况:

1
/context

CopilotContextInfo

命令行查看CLI所有操作介绍:

1
/help

CopilotHelpInfo

Note:

  1. Copilot CLI是付费功能(Pro或Pro+等)
  2. 部分功能可能要求PowerShell版本大于6,需要自己去装一个最新的PowerShell版本
  3. OpenSSH Client的安装和SSH配置要用管理员身份打开PowerShell(版本大于6)
  4. Copilot等待操作时,Ctrl+C是退出,Ctrl+R是打开最近输出,Ctrl+O是打开所有输出,Ctrl+T是显示原因
  5. 如果不希望Copilot每次关键时候询问是否继续,可以输入–allow-all-tools允许所有工具自动执行,或者–allow-tool允许特定工具执行,或者–deny-tool阻止特定工具执行

Copilot CLI MCP Server

Copilot CLI和VS Code Copilot的MCP Server是独立添加的,但添加MCP Server的逻辑和VSCode Copilot MCP Server添加是相同的,只是保存的目录位置不同(目录C:/User/UserName/.copilot/mcp-config.json)

Copilot CLI里添加MCP Server是通过输入”/mcp add“命令:

CopilotCLIAddMCP

Server Name – 取一个本地添加MCP Server的对应名字(必填)

Server Type – MCP Server连接类型(stdio(Standard I/O)多用于本地MCP Server。http(Hypertext Transfer Protocol)多用于网络远程MCP Server。sse(Server-Send Events)http不支持时的一种fallback方案)

Command – 启动MCP Server的执行程序命令(含命令执行参数,本地MCP Server才需要的启动命令)(最后在mcp.json里会自动拆分成command和args两个变量)

Enviroment Variables – 传递个MCP Server的环境变量数据(本地MCP Server才需要)

URL – 远程MCP Server的URL地址(远程MCP Server才需要)

Http Headers – 远程MCP Server请求时带的参数数据(比如GitHub秘钥)

Tools – MCP Server需要激活的工具(本地和远程MCP Server都需要)

参数详细介绍:

MCP

  • 添加MicrosoftLearn MCP Server(输入**/mcp add**然后填充以下信息)

    MicrosoftLearnMCPServerAdd

    MicrosoftLearn MCP Server使用测试:

    MicrosoftLearnMCPServerUsingTest

  • 添加GitHub MCP Server(输入**/mcp add**然后填充以下信息)

    GitHubMCPServerAdd

    GitHub MCP Server使用测试:

    GitHubMCPServerUsingTest

  • 添加FileSystem MCP Server(输入**/mcp add**然后填充以下信息)

    FileSystemMCPServerAdd

    FileSystem MCP Server使用测试(Copilot CLI里无法通过描述使用stdio本地添加的MCP Server工具,只能直接指明使用):

    FileSystemMCPServerUsingTest

Note:

  1. Copilot CLI的MCP Server添加时,不是所有的MCP Server都通过Http方式远程添加,也可以通过stdio本地添加的方式。
  2. stdio本地添加的方式不能直接通过Copilot CLI描述触发,需要直接输入”@MCP名.工具名 参数”的方式直接触发
  3. Copilot CLI里@除了指明用某个文件,还能@MCP名.工具名 参数的方式指定使用MCP的工具
  4. 所有Copilot CLI需要访问的目录必须确保授权访问,除了默认打开所在目录和/Local/Temp目录默认授权外,其他目录都要通过/add-dir进行授权添加*
  5. 通过/add-dir添加授权访问的目录暂时没有命令清除,只能通过重新开Copilot Session实现重置

Copilot付费

Copilot有多个付费模式:

Free – **只允许使用优先功能(50次Agent Mode或Chat每月,2000次智能代码提示补全每月等)

Pro – 无限次Agent Mode或Chat每月,无限次智能代码补全提示,更多AI模型选择,Code Review,Coding Agent等功能

Pro+ – 相比Pro更多的AI模型选择等

Copilot付费支持的Visa卡好像要要求支持跨境汇款PayPal这个我个人没有。

不同付费模式功能详情参考:

Github-copilot

Github地址

Reference

文章目录
  1. 1. 前言
  2. 2. Copilot
  3. 3. Copilot安装
  4. 4. Completions
  5. 5. Prompt
  6. 6. Chat
    1. 6.1. Ask Mode
    2. 6.2. Agent Mode
    3. 6.3. MCP
      1. 6.3.1. Extending Copilot MCP Servers
        1. 6.3.1.1. Using GitHub MCP Registery
        2. 6.3.1.2. Configuring MCP servers manually
    4. 6.4. Coding Agent
    5. 6.5. Copilot Skills
    6. 6.6. 多模型选择
    7. 6.7. Code Review
    8. 6.8. Copilot CLI
      1. 6.8.1. Copilot CLI MCP Server
    9. 6.9. Copilot付费
  7. 7. Github地址
  8. 8. Reference