作为开发人员掌握 GitHub Copilot:15 个提示和技巧

目录

Copilot 的炫酷用例

为您完成代码

从代码编写测试

TDD:通过测试编写代码

测试/模拟数据生成

从注释中编写代码

问:&答:

颜色生成

使用测量单位

自然语言翻译

自动化脚本

正则表达式

配置

命令行命令

文档和自述文本

if (true) 技巧

快捷方式

附加功能

副Copilot实验室

副CopilotX

替代方案以及在您的公司使用 Copilot

最后


过去两年我一直是 Github Copilot 的活跃用户,我真的很喜欢它改进我的代码和技术文本工作的方式。

今天,我想分享一组实用的提示和技巧,帮助您最大限度地发挥其潜力。我将它们发布在我的 Twitter 帐户上,现在是时候将它们全部收集到一个地方了。无论您是经验丰富的开发人员还是刚刚起步的开发人员,我相信它们都可以帮助您使日常工作变得更简单、更快。

Copilot 的炫酷用例

为您完成代码

这是 Copilot 的基本用例,只需开始使用代码,它就会为您预测行和整个块

从代码编写测试

Copilot 可以帮助您为代码编写测试。只需编写一个测试名称,Copilot 就会根据该名称生成一个测试模板和一些模拟数据。如果您向它展示代码,它就知道之前的上下文,因此它可以使用它来测试真实数据。

TDD:通过测试编写代码

您还可以先编写测试,Copilot 将尝试预测通过测试的代码。如果您一直想尝试 TDD,也许现在是尝试 TDD 的好时机。

它知道我们在类中有这个方法

测试/模拟数据生成

Copilot 非常适合生成模拟数据。只需提供一个接口或数据结构示例,它就会生成您想要的任意数量的实体。

反之亦然,您可以在常量中添加随机数据,Copilot 将帮助根据它生成界面。

从注释中编写代码

在编写代码之前为 Copilot 提供注释,看看它能做什么。这是一个非常强大的工具

顺便说一句,现在它用 ES 的旧方法生成代码,因为它对项目上下文一无所知(它是空白的 JS 文件)。但是让我们添加一个const作为现代代码方法的标识符并查看结果:

太好了,现在它知道我们想要获取 ES6+ 代码

问:&答:

问答:您可以在评论中向 Copilot 询问任何问题。它可以是技术问题,也可以是常见问题。

很有用,因为您可以在几秒钟内完成

任何问题…

颜色生成

Copilot 可以根据描述为您生成颜色。它在构建简单的示例/演示时很有用

使用测量单位

您可以使用 Github Copilot 在代码注释中快速计算测量单位

但切勿将其用于重要计算。它不是计算器,有时可能会错过。当您不确定时请仔细检查其结果

自然语言翻译

Copilot也懂得许多自然语言。您可以使用它作为翻译器或在评论中描述您想要的内容,而不仅仅是用英语

您也可以用其他语言编写代码请求。

自动化脚本

Copilot非常擅长编写各种项目迁移脚本。您可以操作代码、文件、项目结构。通常,从想法到迁移文件需要几分钟的时间......

正则表达式

你不喜欢写正则表达式吗?Copilot生成的效果非常好。通常,您需要的只是一个正确的变量名称

配置

GitHub Copilot 可以帮助您更快、更轻松地编写 Nginx 等配置。它适用于常用工具的配置和从模式中学习的内部配置模式。

您甚至可以要求 Copilot 生成整个配置文件;)

命令行命令

您知道可以使用 Github Copilot 生成命令行命令吗?只需创建.sh文件并为其提供所需的描述

文档和自述文本

永远不要忘记,您还可以使用 Copilot 作为自动完成功能来编写文本;)

if (true) 技巧

if (true)如果您希望 Github Copulot 能够执行以下操作,请使用构造:

  • 生成整个代码块,但不是逐行生成
  • 完成生成注释并开始编写代码

快捷方式

不要忘记使用键盘快捷键,它们可以节省您很多时间!有关快捷方式的文档。

附加功能

Copilot实验室

这是一个VS Code 扩展,围绕许多 Copilot 功能添加了 UI。

选择代码并要求 Copilot 进行解释

用它来将您的代码翻译成其他语言。它甚至可以切换代码范式......

一组可以简化您日常工作的小工具

其他测试生成经验

Copilot X

这是一组下一级工具,还添加了问答聊天、语音助手、在 Github 上创建拉取请求的自动化、与 CLI 的集成以及与代码编辑器集成的其他工具。

在Github 的文章中查看。

替代方案以及在您的公司使用 Copilot

不要忘记,Github Copilot 有很多替代品,所有这些技巧都可以应用于其中任何一个。有些工具做得更好,其他工具生成得更简单,但可以为您的公司自行托管。

我在本文中提到的所有内容也可以通过 ChatGPT 或 Bard 来实现,但在我看来,这些工具之间存在很大差异:

  • 您可以使用代码助手来加快编码速度,并且通常可以更快地继续您的想法。
  • 您使用聊天助手作为独立顾问来深入研究某些主题,不仅可以获得解决方案,还可以获得一些解释

并且不要忘记在工作中使用它之前询问您的信息安全同事,以确保您的公司允许将代码发送到第三方服务,即使是匿名的。

最后

在处理代码时有这样的Copilot真是太酷了。对我来说,这非常类似于与以前阅读和见过很多东西的开发人员进行结对编程。

无论如何,不​​可能突出其所有炫酷的功能。因此,如果您有其他喜欢的示例,请在评论中分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2661242.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Android Studio修改创建新布局时默认根布局

将Android Studio默认布局ConstraintLayout切换成LinearLayout 打开设置, Editor> File and Code Templates > Other > layoutResourceFile.xml 备注:创建时提示根布局仍然为ConstraintLayout,不用管这个,实际创建的…

进阶版求字符串长度

大家好呀!!!我是Beilef,一个努力的跨界者,今天带来的每日一题是用简单的函数还有递归求字符串长度。下面开始啦,不对的地方请留言。感谢您的斧正。 文章目录 目录 文章目录 前言 一、题目展示 解题思路&am…

年终回顾与展望:CSDN成就之路,2023年AI浪潮展望及2024 Flag

文章目录 2023年在CSDN获得的肯定1,入围2023博客之星2,《有哪些让你目瞪口呆的Bug?》征文获得TOP33,通过创作者身份认证4,多篇文章被城市开发者社区收录5,多篇文章进入全站综合热榜6,积极参与社…

2023启示录丨自动驾驶这一年

图片|《老人与海》插图 过去的20年,都没有2023年如此动荡。 大模型犹如一颗原子弹投入科技圈,卷起万里尘沙,传统模式瞬间被夷为平地,在耀眼的白光和巨大的轰鸣声之下,大公司、创业者、投资人甚至是每一位观…

Unity Shader 实现X光效果

Unity Shader 实现X光效果 Unity Shader 实现实物遮挡外轮廓发光效果第五人格黎明杀机火炬之光 实现方案操作实现立体感优化总结源码 Unity Shader 实现实物遮挡外轮廓发光效果 之前看过《火炬之光》、《黎明杀机》、《第五人格》等不少的游戏里面人物被建筑物遮挡呈现出不同的…

小型洗衣机怎么用?高质量的小型洗衣机推荐

清洗内衣内裤这些贴身衣物确实是一件比较头疼的事,有的小伙子由于工作的劳累通常在洗完澡后并不喜欢直接清洗内衣内裤,会存上几天再扔到洗衣机里,这样做是很不可取的,因为穿过的内裤很久不洗就会滋生细菌,另外&#xf…

VSCode安装Go环境

VSCode安装Go 1.点击Go官网,根据自己环境下载go安装包,我这里为Windows 2.双击安装包,一直点击【Next】即可 VSCode配置Go基础环境 1.创建Go的工作目录: C:\Code\GoCode 2.创建Go的环境变量: GOPATH (1)右键【此电脑】,点击…

RHCE9学习指南 第11章 网络配置

11.1 网络基础知识 一台主机需要配置必要的网络信息,才可以连接到互联网。需要的配置网络信息包括IP,子网掩码,网关和DNS。 11.1.1 IP地址 在计算机中对IP的标记使用的是32bit的二进制,例如, 11000000 10101000 00…

68内网安全-域横向PTHPTKPTT哈希票据传递

今天讲PTH&PTK&PTT, PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试 PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试 用的Kerberos 协议 PTK(pass the key) #利用的 ekeys aes256 进行的渗透测试 lm加密算法是2003以前的老版&…

EST-100身份证社保卡签批屏按捺终端PC版web版本http协议接口文档,支持web网页开发对接使用

<!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>演示DEMO</title><script type"text/…

低频RFID读写器畜牧业系列介绍

近些年&#xff0c;畜牧行业普遍从传统的分散养殖模式逐渐转化为集约化、规模化养殖&#xff0c;由于集中养殖的禽畜数量多&#xff0c;人工识别与管理的难度大&#xff0c;落后的管理制度不能够很好地满足集约化生产和管理的需要。而被誉为21世纪最具发展潜力的信息技术之一&a…

C++标准模板库(STL)

标准模板库&#xff08;STL&#xff09;是一组C模板类&#xff0c;提供常见的编程数据结构和函数&#xff0c;如列表、堆栈、数组等。它是一个容器类、算法和迭代器的库。它是一个通用库&#xff0c;因此&#xff0c;它的组件是参数化的。模板类的相关知识是使用STL的先决条件。…

电脑免费硬盘数据恢复软件EasyRecovery16永久免费版

当你的硬盘数据没有被检测到时该怎么办&#xff1f;这里是恢复数据的几个小方法。每个存储介质都容易发生数据丢失或遭受物理损伤、腐蚀磨损等等。一个常见的问题是逻辑故障。这是介质似乎可以工作的地方&#xff0c;但数据是不可访问的。物理故障也可能发生。这里的问题要么是…

麒麟信安成为福建省信息技术应用创新协会首批成员单位

为深入贯彻落实福建省委省政府关于信创工作部署&#xff0c;在福建省密码管理局、福建省工业和信息化厅、福建省数字福建建设领导小组办公室指导下&#xff0c;12月27日&#xff0c;福建省电子信息集团牵头举办福建省信息技术应用创新发展大会&#xff0c;中国工程院陈左宁院士…

最优化方法Python计算:无约束优化应用——逻辑回归模型

S型函数 sigmoid ( x ) 1 1 e − x \text{sigmoid}(x)\frac{1}{1e^{-x}} sigmoid(x)1e−x1​将全体实数 R \text{R} R映射到 ( 0 , 1 ) (0,1) (0,1)&#xff0c;称为逻辑函数。其图像为 该函数连续、有界、单调、可微&#xff0c;性质量好。拟合函数为 F ( w ; x ) sigmoi…

Golang 链表的基础知识

文章目录 链表链表基础知识部分链表的存储方式链表的定义链表的操作性能分析相关leetcode题目 链表 更多有关于go链表的内容可以见这篇文章链表的创建和读取 链表基础知识部分 什么是链表&#xff0c;链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分…

二、类与对象(三)

17 初始化列表 17.1 初始化列表的引入 之前我们给成员进行初始化时&#xff0c;采用的是下面的这种方式&#xff1a; class Date { public:Date(int year, int month, int day)//构造函数{_year year;_month month;_day day;} private:int _year;int _month;int _day; };…

Spring-4-代理

前面提到过&#xff0c;在Spring中有两种类型的代理&#xff1a;使用JDK Proxy类创建的JDK代理以及使用CGLIB Enhancer类创建的基于CGLIB的代理。 你可能想知道这两种代理之间有什么区别&#xff0c;以及为什么 Spring需要两种代理类型。 在本节中&#xff0c;将详细研究代理…

fastadmin想自定义表格的样式,可以使用模板渲染并在模板中调用自定义的方法

fastadmin 如何在模板中使用自定义的方法 比如页面上要对返回的时间&#xff0c;电话&#xff0c;身份证做处理 html页面 <script type"text/html" id"itemtpl"><span id"<%item.id%>" class"margins mobile"><…

播放海康摄像头直播流使用笔记

1、将海康摄像头绑定到萤石云平台&#xff0c;并查看直播流 2、项目中使用 1、安装hls cnpm i hls.js 2、封装组件&#xff08;在components文件夹下新建bodyCapture文件夹下index.vue&#xff09; <template><el-dialogtitle"遗体抓拍"class"bo…