GitHub Copilot 使用笔记

GitHub Copilot 是 VSCode 自带的 AI Agent 插件,需要登录 GitHub 账号使用,分为免费版和付费版。

关于个人额度,可以在 Github 的 Copilot 菜单里查看

额度面板

支持模型

模型列表

添加第三方模型

通过 Manage Models 选中对应厂商。
可以通过 OpenRouter 来导入免费的模型,需要先到 OpenRouter 注册 API Key,输入后即可使用,也可以使用兼容 OpenAI 接口的三方 API,比如 硅基流动 SiliconFlow


使用帮助信息

切换到 Ask 模式,输入 /help 即可获取帮助命令,可以查看当前有什么可用命令和使用方法。

翻译后的内容,方便查看,注意 @ 和 / 开头都是指令,通常在 Agent 编辑器里, @开头代表查找/文件定位,/ 开头代表执行指令 :

  • 输入 /help 可以获取以下帮助信息

@workspace:询问关于你的工作区的问题

  • /explain:解释当前编辑器中代码的工作原理
  • /tests:为选中的代码生成单元测试
  • /fix:为选中代码中的问题提出修复方案
  • /new:在工作区中创建新文件或项目的脚手架代码
  • /newNotebook:创建一个新的 Jupyter Notebook
  • /setupTests:在项目中设置测试(实验性功能)

@vscode:询问关于 VS Code 的问题

  • /search:生成工作区搜索的查询参数
  • /startDebugging:生成启动配置并在 VS Code 中开始调试(实验性功能)

@terminal:询问如何在终端中执行某些操作

  • /explain:解释终端中的内容

@github:获取基于网页搜索和代码搜索的答案,可以用来阅读 Github 上的源码项目

使用建议
为了获得更好的对话体验,请像与真正的程序员交流一样提问:

  • 展示代码:打开相关文件并选中最重要的代码行
  • 持续优化:通过追问、补充说明、提供错误信息等方式不断完善对话

插件扩展

Marketplace
通过 GitHub Marketplace 可以获取对应的插件进行安装,扩展 Agent 功能,这里需要我们在市场里授权用户安装插件(Github 插件是和用户本体绑定的)。


授权通过后,在 VSCode 中使用 Ctrl + Shift + P 输入 Reload Window 重新加载窗口,即可看到 @docker 指令可以使用。

开发实践

注释 + Tab 生成功能

可以在文件头部写入注释,Agent 会根据注释自动生成对应代码,减少代码书写。

// 帮我生成 xxxx // 等待自动补全 Tab 

Markdown 文档生成

可以通过 Markdown 文档形式说明自己的要求,然后采用 #file:读取MD文档位置 引用文档,让 Agent 自动完成文档内指定的任务。

LLM 模型调用

GitHub Copilot 官方也提供了大模型的调用能力

可以基于 Agent 开发基于 LLM 交互的前后端一体化内容。
通过 Marketplace 可以很方便地获取模型使用的源码,选中 Model 后随便选中一个模型。

点击 Playground,在里面选中 Code 就可以得到对应的调用源码,再根据 Agent 进行转换即可。


使用时需要申请 API Key(GitHub Token)。


通过 Use This Model 访问去创建免费 Token Key,再放到调用代码里使用。


个人体验

后续用 claude 和 cursor 就回不去了,截止我最近一次使用的感受:

  • 整体业务理解程度一般, 单一业务处理能力强,但是最近看更新了不少东西,应该是有改进的
  • 集成在 VSCode 编辑器中,对经常用 VSCode 编辑器开发的人比较友好,免费额度日常开发也够用
  • 插件和 Github 账号绑定存在一定门槛
  • 不用科学就可以支持用 GPT 模型,但是内置模型比较少

相关学习网站

Read more

Flutter 三方库 l10n_countries 的鸿蒙化适配指南 - 实现全球 250+ 国家与地区的本地化信息映射、支持端侧多语言地理名称展示与旗帜图标索引实战

Flutter 三方库 l10n_countries 的鸿蒙化适配指南 - 实现全球 250+ 国家与地区的本地化信息映射、支持端侧多语言地理名称展示与旗帜图标索引实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 l10n_countries 的鸿蒙化适配指南 - 实现全球 250+ 国家与地区的本地化信息映射、支持端侧多语言地理名称展示与旗帜图标索引实战 前言 在进行 Flutter for OpenHarmony 的全球化(i18n)电商、旅游或社交应用开发时,如何根据用户的语言设置,准确展示全球各国的名称、二位/三位代码(ISO 3166-1)及货币信息?手动维护上百个国家的翻译表显然是不现实的。l10n_countries 是一款功能完备的本地化地理信息库。本文将介绍如何在鸿蒙端构建极致、精准的全球地理背景感知能力。 一、原直观解析 / 概念介绍 1.1 基础原理 该库内置了一套基于 CLDR(通用当地文字库)的大型映射表。通过将 ISO 国家代码作为唯一索引,

By Ne0inhk
Flutter 组件 dartframe 的适配 鸿蒙Harmony 实战 - 极简主义后端框架集成、多端逻辑复用与业务解耦重构方案

Flutter 组件 dartframe 的适配 鸿蒙Harmony 实战 - 极简主义后端框架集成、多端逻辑复用与业务解耦重构方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 dartframe 的适配 鸿蒙Harmony 实战 - 极简主义后端框架集成、多端逻辑复用与业务解耦重构方案 前言 在 Flutter 生态不断向桌面和服务器端扩展的今天,寻找一个轻量、灵活且对 Dart 原生特性挖掘深化的框架,已成为全栈开发者的追求。dartframe 正是这样一款倡导“极简、快速、模块化”的通用型 Dart 开发框架,它不依赖于繁重的第三方库,力求给开发者最直观、最清爽的编码体验。 当我们站在鸿蒙系统(OpenHarmony)适配的门槛上,审视这类框架时,其最大的魅力在于:它能让我们在鸿蒙端复用那一套被验证过的、纯粹的 Dart 业务逻辑块,同时轻松剥离那些高度依赖平台、环境的副作用代码。 本文将带你深度剖析如何通过 dartframe 在鸿蒙应用中实现高效的“多端同构”开发模式,

By Ne0inhk
Linux匿名管道通信:原理深挖+代码实现,一篇吃透进程间数据流转

Linux匿名管道通信:原理深挖+代码实现,一篇吃透进程间数据流转

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 一. 进程间通信介绍 1.1 进程间通信目的 1.2 进程间通信的发展与分类 二、先搞懂:什么是管道?匿名管道有何特殊性? 2.1 管道的本质 2.2 管道的核心特性 三、匿名管道的创建 3.1 匿名管道的创建流程 3.2 匿名管道的使用示例 四. 核心深挖:匿名管道的底层原理 4.1 fork

By Ne0inhk
Flutter 组件 cleany 适配鸿蒙 HarmonyOS 实战:自动化清理矩阵,构建复杂应用的状态闭环与资源防腐架构

Flutter 组件 cleany 适配鸿蒙 HarmonyOS 实战:自动化清理矩阵,构建复杂应用的状态闭环与资源防腐架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 cleany 适配鸿蒙 HarmonyOS 实战:自动化清理矩阵,构建复杂应用的状态闭环与资源防腐架构 前言 在鸿蒙(OpenHarmony)生态迈向多任务并行、长周期驻留及高频账户流转的全场景办公与生活背景下,如何确保应用在退出登录、环境切换或异常恢复时能够“不留痕迹”地销毁脏数据,已成为衡量应用健壮性的核心指标。在鸿蒙设备这类强调分布式沙箱隔离与严苛内存占用(Resident Set Size)管控的环境下,如果应用缺乏统一的资源清理机制,由于由于散落在各处的 Stream 监听、本地缓存及内存单例,极易由于由于状态残留导致不同用户间的数据越权或 UI 状态的逻辑死锁。 我们需要一种能够集中注册清理任务、支持并发异步销毁且具备原子性执行保障的状态复位框架。 cleany 为 Flutter 开发者引入了极其暴力且高效的“全域清算”范式。它通过中心化的管理器(Manager),允许各个业务模块在初始化时注册其对应的资源回收钩子。在适

By Ne0inhk