VS Code Copilot 完整使用教程(含图解)

VS Code Copilot 完整使用教程(含图解)

一、GitHub Copilot 概述

GitHub Copilot 是一款集成在 Visual Studio Code 中的 AI 驱动编码助手,它基于公共代码仓库训练而成,能够支持大多数编程语言和框架。通过自然语言提示和现有代码上下文,Copilot 可提供实时代码建议解释说明自动化实现,显著提升开发效率。

核心功能亮点

  • 智能代码补全:输入时提供单行到整函数级别的实时建议,支持多种编程语言
  • 自主编码模式(Agent Mode):根据自然语言指令,自动规划并执行复杂开发任务,跨文件协调修改
  • 自然语言交互:通过聊天界面与代码库对话,提问、解释代码或指定修改需求
  • 多文件批量修改:单个指令即可应用更改到项目中多个文件,AI 会分析项目结构并进行协调修改
  • 模型灵活切换:可根据速度、推理能力或特定任务需求切换不同 AI 模型,支持接入外部模型

二、安装与设置步骤

获取访问权限

不同用户类型需通过以下方式获取 Copilot 访问权限:

用户类型访问方式说明
个人用户注册 Copilot Free 免费计划(每月有限制)或付费订阅(无限使用),新用户可享受 30 天免费试用
组织/企业成员通过组织管理员分配的订阅访问,或访问 GitHub 设置页面 申请组织提供的 Copilot 权限

详细安装流程

活动栏 Accounts 菜单 选择 Sign in with GitHub to use GitHub Copilot

Accounts menu in VS Code, showing the option to sign in with GitHub to use GitHub Copilot.

Copilot 状态栏菜单选择 Sign in to use Copilot

Sign in to use Copilot from the Copilot status menu.

切换账号(如需)
若需使用其他账号,通过活动栏的 Accounts 菜单 登出当前账号

Accounts menu in VS Code, showing the option to sign out of the current GitHub account.

重新登录方式:

登录 GitHub 账号
选择 Sign in 登录账号(若未登录),无订阅用户将自动注册 Free 计划

Sign in to your GitHub account or use Copilot if you're already signed in.

启动设置向导
悬停状态栏中的 Copilot 图标,选择 Set up Copilot

Hover over the Copilot icon in the Status Bar and select Set up Copilot.

高级设置选项

工作区禁用:在扩展视图(⇧⌘X)中找到 GitHub Copilot,选择 禁用(工作区) 并重启扩展

Screenshot that shows the GitHub Copilot extension in the Extensions view, with the option to disable it for the workspace.

隐藏 AI 功能:通过命令面板(⇧⌘P)运行 Chat: Hide AI Features 完全隐藏 Copilot 功能

Screenshot that shows the Copilot menu in the VS Code title bar, with the option to hide AI features.

三、快速入门:构建任务管理应用

通过实战项目学习 Copilot 核心功能,本教程将创建一个包含添加、删除和标记任务功能的响应式网页应用。

前提条件

  • 已安装 VS Code
  • 已完成 Copilot 访问设置(参考上文)

Step 1: 体验智能代码补全

  1. 创建项目文件夹并在 VS Code 中打开,新建 index.html 文件
  2. Tab 接受建议,完成基础 HTML 结构

如需切换多个建议,可悬停幽灵文本查看导航控件,或使用 ⌥](下一个)和 ⌥[(上一个)快捷键循环选择

Screenshot showing inline suggestion navigation controls.

<body> 标签内继续输入:

<divclass="container"><h1>My Task Manager</h1><formid="task-form">

输入 <!DOCTYPE html>,Copilot 会自动建议完整 HTML 结构(灰色"幽灵文本")

Screenshot showing Copilot suggesting HTML structure completion.

Step 2: 代理模式(Agent Mode)构建完整功能

代理模式能将自然语言需求转化为跨文件的完整实现:

  1. 打开聊天视图(快捷键 ⌃⌘I 或点击活动栏 Copilot 图标)
  2. 观察 Copilot 自动执行以下操作:
    • 更新 index.html 添加任务管理器界面
    • 创建 CSS 文件实现现代响应式样式
    • 生成 JavaScript 文件处理交互功能
  3. 完成后点击 Keep 接受所有更改,在浏览器中打开 index.html 即可看到运行效果

输入以下指令并回车:

创建一个完整的任务管理器网页应用,支持添加、删除任务和标记完成状态。包含现代 CSS 样式,确保响应式设计。使用语义化 HTML 并保证可访问性。将标记、样式和脚本分离到各自文件。 

在聊天模式下拉菜单中选择 Agent

Screenshot showing the agent mode selection in Chat view.

Step 3: 内联聊天(Inline Chat)精确调整代码

内联聊天适用于对特定代码块进行精准修改:

  1. 打开生成的 JavaScript 文件,找到添加任务的代码块
  2. 点击 Accept 应用更改

内联聊天将专注于选中代码块进行针对性改进

Screenshot showing inline chat adding validation to selected function.

输入以下指令:

添加输入验证以防止添加空任务,并去除任务文本中的空格 

选中代码块后按 ⌘I 打开编辑器内联聊天

Screenshot showing inline chat starting for selected code block.

Step 4: 自定义 AI 体验

创建项目专属指令
  1. 在项目根目录创建 .github 文件夹,新建 copilot-instructions.md 文件

添加编码规范(示例):

# 项目通用编码指南 ## 代码风格 - 使用语义化 HTML5 元素(header, main, section 等) - 优先使用现代 JavaScript (ES6+) 特性 ## 命名规范 - 组件名、接口和类型别名使用 PascalCase - 变量、函数和方法使用 camelCase - 私有类成员以下划线 _ 为前缀 
创建自定义聊天模式
  1. 命令面板运行 Chat: New Mode File,选择保存位置为 .github/chatmodes

在聊天视图的模式下拉菜单中可选择此自定义模式

Screenshot showing the Code Reviewer custom mode in the chat mode dropdown.

命名为 “Code Reviewer”,替换内容为:

--- description: '审查代码质量和最佳实践合规性' tools: ['codebase', 'usages', 'vscodeAPI', 'problems'] --- # 代码审查模式 你是一名资深开发者,负责审查代码质量、最佳实践和项目标准合规性,不直接提供代码修改。 ## 分析重点 - 代码质量、结构和最佳实践 - 潜在 bug、安全问题和性能问题 - 可访问性和用户体验考量 

Step 5: 智能操作(Smart Actions)集成工作流

智能操作将 AI 功能无缝集成到 VS Code 界面,无需切换到聊天窗口:

  1. 打开源代码管理视图(快捷键 ⌃⇧G
  2. 初始化仓库并暂存所有更改
  3. 满意则直接提交,或再次点击图标生成替代方案

点击提交框旁的 ** sparkle 图标**,Copilot 将基于暂存更改生成符合规范的提交信息

Screenshot showing generated commit message in Source Control view.

四、高级功能与个性化配置

多模型切换与管理

  • 在聊天视图中通过模型下拉菜单选择不同 AI 模型
  • 支持连接外部模型提供商,需在设置中配置 API 密钥

工作区特定配置

  • 禁用特定语言:在设置中搜索 copilot.languageFilter 排除不需要的语言
  • 自定义快捷键:通过 文件 > 首选项 > 键盘快捷方式 配置 Copilot 相关操作的快捷键

常见问题解决

  • 网络问题:确保 VS Code 可访问 https://api.github.comhttps://copilot-proxy.githubusercontent.com
  • 性能优化:在大型项目中可通过设置 copilot.suggestionsPerRequest 减少建议数量
  • 隐私设置:通过 telemetry.telemetryLevel 设置为 off 禁用遥测数据收集

五、总结与后续学习

通过本教程,你已掌握:

  • Copilot 核心功能:代码补全、代理模式、内联聊天和智能操作
  • 项目实战:从零构建响应式任务管理应用
  • 个性化配置:自定义指令和专用聊天模式

进阶学习路径

  1. 探索 MCP(Model Context Protocol)服务器扩展 AI 能力
  2. 创建更多专用聊天模式(如调试专家、文档生成器)
  3. 学习 Copilot CLI 工具集成终端工作流
提示:使用 # 符号在聊天中引用特定文件(如 #index.html)或使用 #codebase 引用整个项目,可提供更精准的上下文建议。

Read more

Linux网络 | 理解Web路径 以及 实现一个简单的helloworld网页

Linux网络 | 理解Web路径 以及 实现一个简单的helloworld网页

前言:本节内容承接上节课的http相关的概念, 主要是实现一个简单的接收http协议请求的服务。这个程序对于我们理解后面的http协议的格式,报头以及网络上的资源的理解, 以及本节web路径等等都有着重要作用。 可以说我们就用代码来理解这些东西。 那么废话不多说, 现在开始我们的学习吧。         ps:本节内容建议先看一下上一篇文章http的相关概念哦:linux网络 | 深度学习http的相关概念-ZEEKLOG博客 目录  准备文件  makefile HttpServer.hpp 类内成员 封装sockfd start  ThreadRun  全部代码 运行结果 响应书写 Web路径  准备文件         首先准备文件: 这里面Httpserver.cc用来运行接收http请求的服务。 HttpServer.hpp用来定义http请求。Log.hpp就是一个打印日志的小组件, Socket.hpp同样是套接字的组件。 到使用直接调用相关接口即可。(Log.hpp和Socket.hpp如何实现不讲解, 如果想要知道

By Ne0inhk

Web 服务与 I/O 模型

一、Web 服务介绍 1.1.1 Apache prefork 模型(预派生模式) * 核心机制:主控制进程派生多个独立子进程,使用select模型,最大并发 1024;每个子进程单线程响应用户请求 * 资源特性:占用内存较多,但稳定性极高 * 配置特点:可设置进程数的最大值和最小值 * 适用场景:访问量中等的场景 * 优缺点 * ✅ 优点:极致稳定,故障隔离性好 * ❌ 缺点:每个请求对应一个进程,资源占用高,并发能力弱,不适合高并发场景 1.1.2 Apache worker 模型(多进程 + 多线程混合模式) * 核心机制:主进程启动多个子进程,每个子进程包含固定线程数;线程处理请求,线程不足时新建子进程补充 * 资源特性:相比 prefork 内存占用更少,支持更高并发

By Ne0inhk
PythonWeb基础-FastAPI使用

PythonWeb基础-FastAPI使用

FastAPI是一个基于Python的高性能Web框架,用于快速构建API接口服务。FastAPI带有原生的异步支持,具备极高的性能。 1.框架基础使用 1.1 创建FastAPI项目 创建虚拟环境是为了隔离项目运行环境,避免依赖冲突,保持全局环境的干净与稳定。 项目运行: 方式一:run项目 方式二:运行指令:uvicorn 模块名:app(应用实例名) --reload  ( --reload:更改代码后自动重启服务器) 访问交互式文档: http://127.0.0.1:8000/docs 1.2 路由 路由就是URL地址与处理函数之间的映射关系,它决定了用户访问某个特定网址时,服务器应执行哪个后端接口来返回响应结果。 FastAPI的路由定义基于Python的装饰器模式: 实例: from fastapi import FastAPI # 创建 FastAPI 实例 app = FastAPI() @app.

By Ne0inhk
双剑破天门:攻防世界Web题解之独孤九剑心法(十)

双剑破天门:攻防世界Web题解之独孤九剑心法(十)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任 **本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注** 目录 一:Lottery 二:ics-05 三:总结 一:Lottery 打开后发现这个靶场加载异常缓慢,然后他还给了源码,我们先不看源码先熟悉一下这个网站是什么 这应该是一个类似猜数字游戏,选对7个号码即可得到相应奖励 然后注册 随便输入7个数字发现一个也没中,白费2元 然后我们随便点击这个网站的功能发现如果想要flag需要有相对应的余额 我们这会的思路就是利用bp抓包看看能不能修改我们的余额 好像成功了,我们试一试能不能换flag 居然说没有足够的钱,这个方法不行只要将页面上的数字修改只要刷新就会变回原来的余额 居然不能修改余额那就看看在猜数字的页面有没有突破口,发现其访问了api.php我们继续代码审计 看到如下核心代码,首先随机生成七位数字(random_win_nums)然后将其赋值给$win_number。随后关

By Ne0inhk