使用人工智能助手 Github Copilot 进行编程 02

news2025/1/20 1:43:08

本章涵盖了

  • 在您的系统上设置 Python、VS Code 和 Copilot
  • 引⼊ Copilot 设计流程
  • Copilot 的价值在于基本的数据处理任务

本章将帮助您在自己的计算机上开始使用 Copilot,并熟悉与其的交互方式。在设置好Copilot 后,我们将要求您尽可能跟随我们的示例进行操作。实践是最好的学习方式,我们相信您可以在本书的剩余部分与我们一同学习。

一旦您设置好 Copilot,我们将通过一个有趣的示例来展示 Copilot 在解决标准任务中的强大能力,您将看到如何与 Copilot 进行交互,并了解我们如何在不编写任何实际代码的情况下编写软件。

2.1 设置您的计算机开始学习的时间

学习如何编写软件需要你实际去编写软件,而不仅仅是阅读相关内容。如果这是一本关于如何弹吉他的书,你会一直阅读而不尝试弹吉他吗?我们认为不会。只是阅读这本书而不跟着实践并亲自尝试,就像看着一名马拉松选手完成比赛后,以为自己已经准备好去跑一场马拉松一样。我们不再使用类比了,但是说真的,在我们继续之前,你需要安装并运行你的软件。

现在最让我们担心的是,我们刚刚达到了新手最容易失败的普遍阶段,即使那些渴望学习编程的人也是如此,而我们真的希望看到你成功。现在,你可能会想,“等等,真的吗?我们才刚刚开始。”是的,这正是关键所在。在 Leo 的流行的 Coursera 课程中学习 Java 编程,你能猜到大多数新学习者离开的时候吗?是课程结束时需要实时在地球上绘制地震标记的具有挑战性的作业吗?不是的。实际上,大多数学习者离开的是热身作业,他们必须设置他们的编程环境。因此,我们理解这可能是你面临的一个障碍。我们希望通过这个不那么明显的推动,我们可以帮助你实现你购买这本书时心中的所有目标。一切都始于安装软件。

2.1.1 您编程环境中软件的概述

为了轻松设置和使用 Copilot,我们将安装适用于新手和软件工程师的软件编辑工具。您将使用的工具包括 GitHub、Copilot、Python 和 Visual Studio Code。当然,如果您已经安装了所有这些工具,请跳转到第 2.5 节。

Github 账号

GitHub 是一个行业标准的开发、维护和存储软件的工具。然而,在本书中我们不会使用GitHub。我们只是注册 GitHub 账户是因为你需要一个账户来访问 Copilot。注册 GitHub 账户是免费的,但是在撰写本文时,Copilot 是收费的。如果你是学生,他们将免除这个费用。如果你不是学生,在撰写本文时,你可以获得 30 天的免费试用。

你可能会问为什么他们要收费,这有一个很好的答案。建立 GPT3 模型是很昂贵的(想象一下成千上万台电脑运行一年来建立模型),而且 GitHub 提供模型的预测也会产生成本(许多机器接收你的输入,通过模型运行它,并生成你的输出)。如果你还没有准备好使用 Copilot,你可以在注册后大约 25 天的时间内做一个日历提醒,如果那时你还没有使用 Copilot,就取消订阅。另一方面,如果你已经成功学会了如何使用 Copilot 编写软件,并且正在工作中或者只是作为一种爱好来提高你。

Python

真的,任何编程语言都可以用于这本书,但我们选择了 Python,因为它是世界上最流行的编程语言之一Python更容易阅读、理解和编写。对于这本书,Copilot 主要生成代码,而不是你自己。然而,你会想要阅读和理解 Copilot 生成的代码,而 Python 非常适合这样做。

Visual Studio Code (VS Code)

您可以使用任何文本编辑器进行编程。然而,如果您想要一个良好的编程环境,在这里您可以编写代码,轻松地从 Copilot 获得建议,并运行您的代码,我们推荐使用 VS Code 工具。VS Code 被初学者用于学习软件,并且受到学生们的喜爱[2]。它也被全球的专业软件工程师使用,这意味着您可以在完成本书后继续使用这个环境来工作和学习。

为了使 VS Code 适用于本书您需要安装一些扩展以便使用 Python 和 Copilot 进行工作,VS Code 的一个很棒的特点是很容易安装这些扩展。

2.2 设置您的系统

这是一个四步骤的过程。为了简化本章节,我们只提供了该过程的主要步骤。然而,更详细的说明可在以下位置找到。

  • 访问 GitHub 的文档,网址为 https://docs.github.com/en/copilot/getting-started-with-ithub-copilot。
  • 这本书的网站(https://www.manning.com/books/learn-ai-assisted-python-programming)提供了设置 PC 和 macOS 系统的详细说明。由于这些工具的网站在我们编写本书后可能会发生变化,我们建议您同时使用 GitHub 链接和书籍网站。
  • 在在线书籍论坛(https://livebook.manning.com/book/learn-ai-assisted-python-programming/discussion)上,您可以寻求帮助并查看一系列常见问题的答案。

您需要完成的主要步骤如下:

  1. 设置您的 GitHub 账户并注册 Copilot
    1. 前往 https://github.com/signup 并注册一个 GitHub 账户。
    2. 进入 GitHub 的设置并启用 Copilot。这是你需要验证你是学生或者注册 30 天免费试用(在撰写本文时可用)的时候。
  2. 安装 Python
    1. 前往www.python.org/downloads/。
    2. 下载并安装最新版本的 Python(写作时为 3.11.1)。
  3. 安装 VS Code
    1. 前往https://code.visualstudio.com/download,选择适用于您操作系统的主要下载(例如,Windows 下载或 Mac下载)。
    2. 下载并安装最新版本的 VS Code。
  4. 安装以下 VS Code 扩展(详细信息请参见 https://code.visualstudio.com/docs/editor/extension-marketplace)。
    1. Python(由 Microsoft 提供)——请按照 https://code.visualstudio.com/docs/languages/python上的说明正确设置 Python 扩展(特别是选择正确的解释器)。
    2. GitHub Copilot(由 GitHub 开发)
    3. GitHub Copilot 实验室(由 GitHub 提供)——请注意,大部分书籍不需要使用Copilot 实验室,所以如果与写作时有所改变,请不要灰心。我们与 Copilot 实验室的交互也可以通过与 ChatGPT 或 Github Copilot Chat 进行交互来完成。
    4. GitHub Copilot Chat(由GitHub提供)——撰写时,GitHub Copilot Chat 尚未对所有人开放。本功能将在后面的章节中使用,但如果仍然无法使用,我们可以使用 ChatGPT 进行相同的对话。在使用此功能时,我们将提供更多详细信息。

我们知道这里的步骤很简要。如果遇到任何问题,我们鼓励您参考之前提到的资源,获取更详细的设置说明。

2.3 在 Visual Studio Code 中使⽤ Copilot

现在您已经设置好了系统,让我们来熟悉一下图2.1中显示的 VS Code 界面。(您可能需要点击左上角的资源管理器图标以获得相同的视图。)图2.1中标识了以下区域:

  • 活动栏——最左边是活动栏,我们可以在这里打开文件夹(也称为目录)或安装扩展(就像您在前一节中安装 GitHub Copilot 扩展一样)。
  • 侧边栏 - 侧边栏显示当前在活动栏中打开的内容。在图2.1中,活动栏选择了资源管理器,因此侧边栏显示当前文件夹中的文件。
  • 编辑窗格 - 这些是我们用来创建软件的主要区域。编辑窗格中的编辑器类似于其他文本编辑器,您可以使用剪贴板编写、编辑、复制和粘贴文本。然而,它的特殊之处在于它被设计成与代码配合使用。正如我们将在下一个示例中看到的,您主要将在此窗口中通过要求 Copilot 生成代码,然后测试该代码来工作。
  • 输出和终端面板-这是界面上用于查看代码输出或发生的任何错误的区域。它有问题、输出、调试控制台和终端标签。我们主要使用问题标签,可以看到代码中潜在的错误,以及终端标签,可以与 Python 进行交互并查看代码的输出。

我们在图 2.1 的右下角突出显示了 Copilot 的标志,因为如果您在前一节正确设置了 Copilot,您应该能看到这个符号(或类似的符号)。

image-20231204162845991

2.3.1 设置您的⼯作⽂件夹

在 VS Code 的左侧活动栏顶部,您会找到资源管理器作为顶部图标。点击资源管理器后,应该会显示“未打开文件夹”。点击按钮打开文件夹并选择计算机上的一个文件夹(或创建一个新文件夹 - 我们喜欢文件夹名为 fun_with_Copilot)。一旦您打开了这个文件夹,您的工作区将是您打开的文件夹,这意味着您的代码和任何数据文件(比如我们将在本章后面使用的文件)都应该在那个文件夹中。

⽂件未找到或⽂件丢失错误

如果你收到⼀个说你缺少⽂件的错误,请放⼼:这些是每个⼈都会犯的错误。在编写软件时,它们可能会⾮常恼⼈。可能是你只是没有把⽂件放在你的⼯作⽂件夹中-这种情况很常⻅。通过将⽂件复制或移动到正确的⽂件夹中&

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

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

相关文章

数据结构C++队列(数组模拟)

队列也是比较简单的数据结构了,队列的特点是先进先出 下面代码中hh是队头,tt是队尾。 默认是从队尾插入数据,队头弹出数据。 代码中的数据结构可以使用这图片来解释,整个区间是数组q。hh和tt分别控制队头和队尾。 例题&#x…

cocos添加节点事件的3种方式

我们以button为例来说明一下cocos怎样为节点添加事件: 直接通过cocos熟悉检查器绑定 添加事件脚本 import { _decorator, Component, Node, input, Input, Button, EventKeyboard } from cc; const { ccclass, property } _decorator;ccclass(Attack) export cla…

【笔试常见编程题01】删除公共字符串、组队竞赛、倒置字符串、排序子序列

1. 删除公共字符串 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” 输入描述 每个测试输入包含2个字符串 输出描述 输出删除后的…

事务:分布式事务与本地事务的区别

分布式事务章节 分布式事务:2PC与3PC的区别-CSDN博客 分布式事务:X/Open DTP分布式事务处理模型与分布式事务处理XA规范-CSDN博客 事务简介 事务(Transaction)是操作数据库中某个数据项的一个程序执行单元(unit)。事务是由一组操作构成的可靠的独立的…

【Linux】Linux中的日志查询方法

文章目录 linux日志与日志的查询方法更多journalctl用法journalctl用法案例部分日志路径说明推荐阅读 linux日志与日志的查询方法 在Linux系统中,日志文件用于记录系统的各种运行信息和错误消息。常见的日志文件包括但不限于/var/log/下的各种日志,如me…

foxmail开启不能自动启动解决办法

1、不要以管理员权限启动,不勾选管理员权限。 2、在foxmail设置里勾选“开机自动启动”

微信小程序(二十)Vant组件库的配置

教程很详细,直接上过程 上一篇 官方文档也有,但是因为版本的更新,官方文档并没有跟着改变,这里我写一份最新版能用的教程 (口头禅还是不能少的🤣🤣🤣) 灵魂拷问&#xf…

增加/调整硬盘空间有效的 8 款管理磁盘分区软件分享

适用于电脑的最佳分区管理器是一个出色的工具,可以增加硬盘空间并确保最有效地管理磁盘分区。因此,请继续阅读以详细了解它们。 电脑上的存储问题并不是什么新鲜事。然而,随着最新 电脑的出现,情况有所改善。但似乎没有足够的空间…

数据监控-Prometheus/Grafana

一、数据监控Prometheus 1、什么是Prometheus Prometheus是由SoundCloud开源监控告警解决方案,从2012年开始编写代码,到2015年github上开源以来,吸引不少用户以及公司的使用。Prometheus作为新一代的开源解决方案,很多理念与Google SRE的运维之道不谋而合。 2、Promet…

如何使用数据恢复软件恢复已删除的文件

在计算机时代之前,数据一直以物理方式存储在纸张上。然后通过收集论文,创建了一个大数据库。收集到的论文存放在大房间或数据收集中心。笔和纸系统的一个很大的缺点是,如果你想找到特定的数据,就像在沙子里找到一根针一样。 计算…

2023 IoTDB Summit:Dr. Feinauer《Apache IoTDB在德国工业和关键基础设施中的应用》

12 月 3 日,2023 IoTDB 用户大会在北京成功举行,收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题,多位学术泰斗、企业代表、开发者,深度分享了工业物联网时序数据库 IoTDB 的技术创新…

幻兽帕鲁的搭建和幻兽帕鲁需要什么配置的服务器

前言 大家好,今天教大家如何快速搭建幻兽帕鲁,并能满足8-32人游玩 第一步 购买服务器 1.CPU:4核(最低需要4核起,当然可以选择更高的)CPU的选择更看重单核性能,尽量选择主频2.5GHz以上的&#…

goland课程管理(6)

项目目录结构如下图所示: core包下面: class.go package coreimport "github.com/gin-gonic/gin"func Class1(ctx *gin.Context) {}course.go package coreimport (. "cookie/database". "cookie/model""fmt"…

1002. HarmonyOS 开发问题:鸿蒙 OS 技术特性是什么?

1002. HarmonyOS 开发问题:鸿蒙 OS 技术特性是什么? 硬件互助,资源共享 分布式软总线 分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发…

TCP半链接和全链接队列实验(下)

TCP半链接和全链接队列实验(上)-CSDN博客 实战 - TCP 半连接队列溢出 如何查看 TCP 半连接队列长度? 很遗憾,TCP 半连接队列长度的长度,没有像全连接队列那样可以用 ss 命令查看。 但是我们可以抓住 TCP 半连接的特点,就是服务端…

Linux之进程间通信(system V 共享内存)

目录 一、共享内存 1、基本原理 2、共享内存的创建 3、共享内存的释放 4、共享内存的关联 5、共享内存的去关联 6、查看IPC资源 二、完整通信代码 三、共享内存的特点 四、信号量 1、相关概念 2、信号量概念 进程间通信的本质就是让不同的进程看到同一个资源。而前…

vit细粒度图像分类(四)BT-Net学习笔记

1.摘要 为了改进在细粒度图像分类过程中类别差异难以提取的问题,本文提出了一种基于 Transformer 双线性网络的细粒度网络分类优化方法(BT-Net)。 首先,将输入图像通过不同卷积处理成不同长度的二维向量,然后,构建重复次数不同的…

JVM内存问题排查

本文又名《对JVM一窍不通的我快速开始排查应用内存问题》。主要系统性地整理了排查思路,为大家遇到问题时提供全面的排查流程,不至于漏掉某些可能性误入歧途浪费时间。 基本原则 由于本文的定位是Cookbook,基本原则是让整个流程能够系统化规范化的同时将…

少儿编程:让孩子在数字世界中自由翱翔

在这个信息爆炸的时代,计算机和互联网已经成为我们生活中不可或缺的一部分。从智能手机到智能家居,从网络游戏到在线教育,数字技术已经渗透到我们生活的方方面面。因此,掌握编程技能,就像学习阅读和写作一样&#xff0…

RNN预测下一句文本简单示例

根据句子前半句的内容推理出后半部分的内容,这样的任务可以使用循环的方式来实现。 RNN(Recurrent Neural Network,循环神经网络)是一种用于处理序列数据的强大神经网络模型。与传统的前馈神经网络不同,RNN能够通过其…