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

Web 服务与 I/O 模型

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

By Ne0inhk
Web 团队做 App,该不该选 Capacitor?

Web 团队做 App,该不该选 Capacitor?

Capacitor 简介 Capacitor 是一个开源的跨平台应用运行时,用于构建 Web、iOS 和 Android 应用。它由 Ionic 团队开发,支持将现代 Web 应用打包为原生应用,同时提供对原生设备功能的访问。Capacitor 的设计目标是简化跨平台开发流程,同时保持灵活性和性能。 Capacitor 的核心特点 跨平台支持 Capacitor 支持将同一套代码打包为 iOS、Android 和 Web 应用,减少开发维护成本。 原生功能集成 通过插件系统,Capacitor 可以访问设备原生功能,如相机、文件系统、地理位置等。 与框架无关 Capacitor 不依赖于特定前端框架,可与 Angular、React、Vue 或纯 JavaScript 项目结合使用。 现代化工具链 Capacitor

By Ne0inhk
SkyWalking - 告警通知渠道集成:Webhook、Slack、钉钉、企业微信

SkyWalking - 告警通知渠道集成:Webhook、Slack、钉钉、企业微信

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕SkyWalking这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * SkyWalking - 告警通知渠道集成:Webhook、Slack、钉钉、企业微信 * 🚨 SkyWalking 告警机制基础 * 告警规则(Alarm Rules) * 通知渠道(Notifiers) * 🔗 Webhook:最通用的集成方式 * 配置 SkyWalking 使用 Webhook * Webhook 接收端开发(Java 示例) * Webhook 集成的优势与注意事项 * 💬 集成 Slack 通知 * 在 Slack 中创建 Incoming Webhook * 配置 SkyWalking * 自定义 Slack

By Ne0inhk

Android WebView 版本升级方案详解

Android WebView 版本升级方案详解 目录 1. 问题背景 2. WebViewUpgrade 项目介绍 3. 升级方法详解 4. 替代方案对比 5. 接入与使用步骤 6. 注意事项与限制 7. 总结与建议 问题背景 WebView 版本差异带来的问题 Android 5.0 以后,WebView 升级需要去 Google Play 安装 APK,但即使安装了也不一定能正常工作。像华为、Amazon 等特殊机型的 WebView 的 Chromium 版本一般比较低,只能使用它自己的 WebView,无法使用 Google 的 WebView。 典型问题场景 H.265 视频播放问题:

By Ne0inhk