Copilot使用体验

本篇是去年使用Copilot的记录,不代表目前水平,仅做个人记录同步,谨慎参考。

GitHub Copilot的订阅计划

https://docs.github.com/en/copilot/about-github-copilot/subscription-plans-for-github-copilot
个人版提供30天的免费试用。个人版每月10 美元或每年 100 美元。

Copilot操作文档

https://docs.github.com/en/copilot/quickstart
目前支持JetBrains IDEs,Vim/Neovim,Visual Studio,Visual Studio Code,Xcode。安装插件,登录Github账号就可以使用了,需要开代理。

基本操作

  • 获取代码建议,输入代码时会自动触发,使用“Tab”键采纳。
  • 切换建议,macOS使用“Option+]”或“Option+[”,windows使用“Alt+]” 或 “Alt+[”切换下一条,上一条。
  • 聊天模式,可以引用文件,生成测试代码,解释代码,修复问题。

基本操作,支持功能和同类型工具都大差不差,主要关注实际提示代码质量。

其他设置

  • 启用或禁用公共代码匹配的建议,如果选择允许匹配公共代码的建议,当Copilot建议匹配代码时,可以显示匹配的详细信息,并点击到GitHub上的相关存储库。
  • 访问Bing,Copilot将使用Bing在互联网上搜索与问题相关的信息。在讨论新技术或特定的主题时,Bing搜索尤其有用。

Copilot优缺点

优点

  • 提示速度快,支持语言丰富。
  • 偏向提示多行代码块,方便快捷。
  • 相对其他同类型工具提示更精准。
  • 会根据项目代码不断优化提示,做到更贴近所想。

缺点

  • 需要使用代理,没有国内的工具访问方便。
  • Copilot 是使用大量代码训练的,但它的范围仍然有限。 它可能无法处理一些复杂的代码结构或模糊的编程语言。
  • Copilot 并不是没有错误的。可能会生成看起来有效但实际无效的代码。 为了降低代码不准确的风险,需要仔细查看和测试生成的代码。
  • 由于上下文的限制,copilot不能全局考虑问题,更多的是解决局部的问题。会存在方法未复用的情况。

辅助编程相关场景举例说明

一般有三大类:

  • 代码-代码:包含代码补全、代码修复
  • 代码-文本:代码解释、代码优化、代码异常排查
  • 文本-代码:通过提示词 Prompt 做代码生成 (单元测试等)

支持语言

常用语言都支持(Java,python,JavaScript,Go,C, Kotlin等),亲测Flutter的Dart语言也可以很好的支持。

代码补全

场景:数据上报点击删除按钮时,pageinfo传入课程id(多个课程id用逗号分隔)
操作:当我输入到map方法做转换时,Copilot猜到我的意图,给出了下面的提示。

在这里插入图片描述


提示和预期完全一致,比较惊喜的地方在于,下载对象中属性字段很多,并且有“id”这个字段作为相似项干扰。
在我没有告知Copilot我的需求情况下,最终可以准确提示,还是很智能的。

代码修复

下面这段代码在实际运行中会报错崩溃,我们根据报错行数找到这段问题代码:

val goal ="${list[0].option.filter{ it.selected }[0]?.id ?: 1}"// java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

选中这行问题代码,输入“/fix”修复这个问题。

在这里插入图片描述


可以看到copilot解释了问题的原因,并给出了解决方案。

代码生成

可以通过写注释的方式,让Copilot帮我们生成相关代码。Copilot会根据上下文,给到合理的代码。

在这里插入图片描述

Read more

remote: Invalid username or token. Password authentication is not supported for Git operations

remote: Invalid username or token. Password authentication is not supported for Git operations

remote: Invalid username or token. Password authentication is not supported for Git operations. fatal: Authentication failed for… 该文章解决在新系统中进行 git 操作时,第一次的登陆问题,由于Github不再支持使用账号密码进行 Git https 推送,可以采用 ssh 密钥的方式进行长期的推送 1.生成SSH key ssh-keygen -t ed25519 -C "[email protected]" 这里的-t 表示要生成的密钥类型,这里生成的类型为ed25519,是一种椭圆曲线算法,比传统的RSA更加安全、密钥更短,并且速度更快 2.将

By Ne0inhk
用 Rust 构建 Git 提交历史可视化工具

用 Rust 构建 Git 提交历史可视化工具

在软件开发中,版本控制系统的历史记录往往承载着项目的演进脉络。然而,当项目规模扩大、分支增多时,纯文本的 git log 输出很难直观地展现提交之间的复杂关系。今天,我想分享一个用 Rust 构建的轻量级工具 —— git-graph-rs,它能把 Git 仓库的提交历史转换为可视化的图结构,为代码审查、项目复盘和工程决策提供直观的支持。 目录 * 为什么需要可视化? * 技术方案的选择 * 1. 利用系统 Git 命令 * 2. 模块化的 Rust 架构 * 3. 双格式输出策略 * 核心实现解析 * Git 数据获取的艺术 * 图结构的一致性保证 * 合并提交的可视化区分 * 工程化思维体现 * 错误处理的前置化 * 参数设计的克制 * 输出格式的稳定性 * 实际应用场景 * 1. CI/CD 集成 * 2. 代码审查辅助 * 3. 项目文档化

By Ne0inhk

【无人机路径规划】基于深度强化学习的多无人机辅助边缘计算网络路径规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述 摘要 一、研究背景与意义 1.1 边缘计算与无人机的融合需求 1.2 多无人机路径规划的挑战 二、多无人机辅助边缘计算网络架构 2.1 网络组成与功能 2.2 路径规划的协同需求 三、深度强化学习在路径规划中的适配性 3.1 技术优势 3.2 核心算法与多智能体协同 3.2.1 单无人机路径规划:DDPG算法 3.2.2 多无人机协同:MADDPG与IPPO 四、典型应用场景与性能优化 4.

By Ne0inhk

2025前端框架趋势:React领跑,Vue稳健,Angular深耕企业级

文章概要 2025年,前端框架市场呈现React、Vue、Angular三足鼎立格局。React凭借生态优势持续领跑,Vue以渐进式架构赢得开发者青睐,Angular则聚焦企业级应用。本文结合技术特性、学习曲线与行业实践,解析三大框架的演进方向与选型策略。 最近整理前端框架选型数据时,我惊讶地发现:尽管社区争论不断,React、Vue、Angular 这三大框架依然稳坐2025年的头把交椅,像极了技术圈的“三巨头”。它们各自占据不同生态位,形成了一种微妙的平衡。 从NPM下载量来看,React的优势几乎无可撼动——周下载量突破5700万次,几乎是Vue的两倍。这背后是Meta强力支撑下的庞大生态:从Next.js到React Native,从Redux到Zustand,几乎每个细分领域都有成熟方案。尤其在全球市场,金融、社交平台等数据密集型应用几乎清一色选择React,虚拟DOM+服务端组件(RSC) 的组合在复杂交互场景下表现尤为出色。 而Vue虽然全球占比32%,却在中国开发者中实现了近50%的使用率,堪称“本土之王”。阿里、百度、腾讯等大厂的中后台项目大量采用Vue

By Ne0inhk