AI集成ChatGPT敲代码神器Copilot

📑前言

本文主要是AI工具Copilot解读文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

在这里插入图片描述

目录

文章目录

  • 📑前言
  • **目录**
      • 1.Copilot是什么
    • 2.Idea安装Copilot
    • 3.Idea使用Copilot
      • 3.1 代码补全
      • 4.快捷键
      • JetBrains IDE
          • macOS 的键盘快捷键
          • 适用于 Windows 的键盘快捷键
          • Linux 的键盘快捷键
      • Visual Studio Code IDE
        • macOS 的键盘快捷键
        • 适用于 Windows 的键盘快捷键
        • Linux 的键盘快捷键
      • 5.其他智能代码补全工具
  • 📑文章末尾


1.Copilot是什么

Copilot (https://copilot.github.com/) 是由 Github 提供的AI编码辅助工具,它可以在编码过程中提供基于 AI 学习的编码建议。在很多情况下,只需要有注释或者函数名称,Copilot就可以实例完整的代码。

目前 Copilot 还没有全量开放,需要申请开通权限。访问它的官方网站https://copilot.github.com/,点击“Sign up“按钮即可申请开通。当获得开通权限后,就可以在 Github 上使用 Copilot。
官网截图

2.Idea安装Copilot

要求:Idea版本应不低于2021.2,否则无法搜到Copilot插件
在这里插入图片描述

重启idea之后便可使用

3.Idea使用Copilot

安装后重启,点击tools->Copilot登录到gitHub之后来获取使用资格
在这里插入图片描述

在这里插入图片描述

点击Cop and Open
在这里插入图片描述

将设备码复制到此处 ,进行授权
在这里插入图片描述
在这里插入图片描述

3.1 代码补全

Copilot能将整行进行补全,并且自可以自动填充到参数
在这里插入图片描述

Copilot也能自动识别到上文中出现过的workbook变量及其getSheetAt方法,没有发生语法错误的问题。
在这里插入图片描述

虽然在上一个例子中补全效果较好,没有出现语法错误的问题,但是Copilot依然会在很多情况下生成存在语法错误的代码片段。如下图所示,StringUtils类是在本地工程中创建的,类下面只有一个readTestFile方法,然而Copilot却生成了print方法,因为Copilot是根据数亿的开源代码学习到的,不能及时的去学习本地工程的代码信息,所以本质上跟TabNine一样是会存在语法错误的问题,只是由于模型更强大,所以错误的概率更小,但是一旦涉及到本地工程的代码,错误的概率就会非常高。
在这里插入图片描述

4.快捷键

Copilot 也提供了一些快捷键,可以很方便地使用。

JetBrains IDE

macOS 的键盘快捷键
行动捷径
接受内联建议Tab
拒绝内联建议Esc
显示下一个内联建议Option (⌥) or Alt+]
显示上一个内联建议Option (⌥) or Alt+[
触发内联建议Option (⌥)+\
打开 GitHub Copilot(其他建议在单独的窗格中)Option (⌥) or Alt+Return
适用于 Windows 的键盘快捷键
行动捷径
接受内联建议Tab
拒绝内联建议Esc
显示下一个内联建议Alt+]
显示上一个内联建议Alt+[
触发内联建议Alt+\
打开 GitHub Copilot(其他建议在单独的窗格中)Alt+Enter
Linux 的键盘快捷键
行动捷径
接受内联建议Tab
拒绝内联建议Esc
显示下一个内联建议Alt+]
显示上一个内联建议Alt+[
触发内联建议Alt+\
打开 GitHub Copilot(其他建议在单独的窗格中)Alt+Enter

Visual Studio Code IDE

macOS 的键盘快捷键
行动捷径命令名称
接受内联建议Tab编辑器.action.inlineSuggest.commit
拒绝内联建议Esceditor.action.inlineSuggest.hide
显示下一个内联建议Option (⌥)+]editor.action.inlineSuggest.showNext
显示上一个内联建议Option (⌥)+[editor.action.inlineSuggest.showPrevious
触发内联建议Option (⌥)+\编辑器.action.inlineSuggest.trigger
打开 GitHub Copilot(其他建议在单独的窗格中)Ctrl+Returngithub.copilot.generate
打开/关闭 GitHub Copilot没有默认快捷方式github.copilot.toggleCopilot
适用于 Windows 的键盘快捷键
行动捷径命令名称
接受内联建议Tab编辑器.action.inlineSuggest.commit
拒绝内联建议Esceditor.action.inlineSuggest.hide
显示下一个内联建议Alt+]editor.action.inlineSuggest.showNext
显示上一个内联建议Alt+[editor.action.inlineSuggest.showPrevious
触发内联建议Alt+\编辑器.action.inlineSuggest.trigger
打开 GitHub Copilot(其他建议在单独的窗格中)Ctrl+Entergithub.copilot.generate
打开/关闭 GitHub Copilot没有默认快捷方式github.copilot.toggleCopilot
Linux 的键盘快捷键
行动捷径命令名称
接受内联建议Tab编辑器.action.inlineSuggest.commit
拒绝内联建议Esceditor.action.inlineSuggest.hide
显示下一个内联建议Alt+]editor.action.inlineSuggest.showNext
显示上一个内联建议Alt+[editor.action.inlineSuggest.showPrevious
触发内联建议Alt+\编辑器.action.inlineSuggest.trigger
打开 GitHub Copilot(其他建议在单独的窗格中)Ctrl+Entergithub.copilot.generate
打开/关闭 GitHub Copilot没有默认快捷方式github.copilot.toggleCopilot

5.其他智能代码补全工具

TabNine支持的语言及IDE种类最丰富,本地模式内存占用高;
阿里云Cosy的代码搜索功能比较实用,可以与其他工具搭配使用;
Kite仅适合Python开发者,补全不算惊艳;
Codota已经不再维护了,可以不考虑了;
IntelliCode实用性不强,未来或许会与GitHub Copilot整合;
AIXcoder中规中矩,缺少亮点;

📑文章末尾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gopro hero5运动相机格式化后恢复案例

Gopro运动相机以稳定著称,旗下的Hero系列销售全球。下面我们来看一个Hero5格式化后拍了少量素材的恢复案例。 故障存储:64G MicroSD卡 Exfat文件系统 故障现象: 64G的卡没备份数据时做了格式化操作又拍了一条,发现数据没有备份,客户自行使…

【Redis】高并发分布式结构服务器

文章目录 服务端高并发分布式结构名词基本概念评价指标1.单机架构缺点 2.应用数据分离架构应用服务集群架构读写分离/主从分离架构引入缓存-冷热分离架构分库分表(垂直分库)业务拆分⸺微服务 总结 服务端高并发分布式结构 名词基本概念 应⽤&#xff0…

Vue组件化开发,组件的创建,注册,使用,详解Vue,vm,VueComponent,vc

组件化开发 模块是指将一个大的js文件按照模块化拆分规则进行拆分成的每个js文件, 凡是采用模块方式开发的应用都可以称为模块化应用(组件包括模块) 传统方式开发的一个网页通常包括三部分: 结构(HTML)、样式(CSS)、交互(JavaScript) 关系纵横交织复杂,牵一发动全…

ArcGIS Pro怎么生成高程点

一般情况下,我们从公开渠道获取到的高程数据都是DEM数据,但是如果要用到CAD等软件内则需要用到高程点,那么如何从DEM提取高程点呢,这里为大家介绍一下生成方法,希望能对你有所帮助。 数据来源 本教程所使用的数据是…

Git Rebase 优化项目历史

在软件开发过程中,版本控制是必不可少的一环。Git作为当前最流行的版本控制系统,为开发者提供了强大的工具来管理和维护代码历史。git rebase是其中一个高级特性,它可以用来重新整理提交历史,使之更加清晰和线性。本文将详细介绍g…

将一个Series序列转化为数据框Dataframe格式Series.to_frame()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将一个Series序列 转化为Dataframe格式 Series.to_frame() [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd s pd.Series([1,2],name"myValue") print("【显…

【Unity实战】最全面的库存系统(一)

文章目录 先来看看最终效果前言定义物品定义人物背包物品插槽数据拾取物品物品堆叠绘制UI移动拖拽物品选中物品跟随鼠标移动背包物品交换物品拆分物品物品堆叠完结先来看看最终效果 前言 它又来了,库存系统我前面其实一句做过很多次了,但是这次的与以往的不太一样,这个将是…

【windows】添加共享打印机错误:0x000006ba

【问题描述】 添加共享打印机的时候,提示操作无法完成。 错误:0x000006ba。 【解决方法】 一、看下服务里 打印机服务Print Spooler是否正常启动; 二、打印机服务Print Spooler没有的话;(开始–运行—services.msc 回…

python之pip常用指令

文章目录 pip show xxx 查看是否安装该 module

Linux 安装node并全局可用

前言 基于:CentOS 7.6 工具:Xshell7、Xftp7 1.下载 根目录新建一个 node 文件夹并进入 mkdir /node && cd /node下载压缩包 wget https://nodejs.org/download/release/v16.18.0/node-v16.18.0-linux-x64.tar.gz2.解压并重命名 解压 tar…

Android系统Launcher启动流程学习(一)init启动部分

init进程学习: 文件路径system/core/init/init.cpp 解析init.rc配置文件,首先开启ServiceManager和MediaServer等关键进程init进程fork启动Zygote服务进程处理子进程的终止(signal方式)提供属性服务的功能 int main(int argc, char** argv) {//注释一…

双轮差速模型机器人通过线速度、角速度计算机器人位姿

已知上一时刻机器人位置P_OLD (x,y,),机器人当前时刻的线速度和角速度(v,),短时间内t内,机器人在线性部分和非线性部分的增量为 线性部分: 非线性部分: 由于可能非常小,导致非线性部分数值不稳定&#xf…