【无矶之谈】编码能力堪比Copilot、Cursor、GPT-国内可用的智能AI编程

news2024/11/18 6:47:05

前言简述

Copilot

Copilot 是一款由 OpenAI 推出的人工智能代码自动补全AI工具

早在2022年4月,我便写了一篇Github Copilot的申请及在Pycharm的配置和使用,那个时候我便在用AI进行编程,当时虽然用的不是很多,但也算接触了AI。

Github Copilot的申请及在Pycharm的配置和使用

学生认证注册可以免费使用半年,后续收费是19美元一个月。

不过当初我使用的时候是在OpenAI推广这个产品的时期,虽然那时我已经是工作几年的老油条了,但我还是免费使用了半年。

image-20231121110231160

比如我们公司就可以用这个编码,公司报销,嘿嘿嘿。

Cursor

Cursor是一款代码编辑器,对话式编程,这个我倒是没有写相关文章,不过我也用了一段时间,也给身边的小伙伴推荐过。

GitHub链接:getcursor/cursor: An AI-powered code editor based on VSCode

官网链接:https://cursor.sh/

image-20231121110414838

看到没,可以免费使用GPT-4,就是慢了点。

我用的时候已经是一年前了,说实话,不是很好用,操作不咋友好,有兴趣的可以自己去玩玩。

ChatGPT

这个想必大家都知道,就不过多介绍,我最早知道的时候是在2022年12月份,当时把它当做聊天助手使用,发现非常恐怖,后来大火的时候我也写了下文章。

【无矶之谈】不用任何科学小白30秒上手ChatGPT

最近Altamn被OpenAI扫地出门的事件还在持续发酵,不知道未来的ChatGPT会怎样,与之匹敌的Cluade又会如何发起攻势?我们就等着吃瓜吧。

我用GPT也有小一年了,讲真的有很多感触,我们再后文细说,先让我们今天的主角登场。

通义灵码

官网:https://tongyi.aliyun.com/lingma

通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅的编码。

  • 兼容 Visual Studio Code、JetBrains IDEs 等主流 IDE;
  • 支持 Java、Python、Go、C/C++、JavaScript、TypeScript、PHP、Ruby、Rust、Scala 等主流编程语言。

image-20231121111932103

VSCode安装通义灵码

1、在VSCode中侧边栏打开扩展

2、搜索TONGYI Lingma

3、点击安装

4、重启VSCode,登录阿里云账号

5、开始享受AI编码吧。

image-20231121112417297

JetBrains系列IDE中安装通义灵码

这里我以pycharm为例:

1、按步骤点击:File -> settings -> plugins

2、如图搜索TONGYI Lingma

image-20231121104336797

3、点击安装

4、重启IDE,登录阿里云账号(会自动跳转网页登录,登录后回到IDE里面就OK了)

image-20231121132626854

image-20231121132707505

5、开始享受AI编码吧。

使用

依然是以pycharm为例。VSCode可以查看官网有详细的使用指南。

在pycharm右侧侧边栏就可以点开

image-20231121132900321

代码智能生成

当你在 IDE 编辑器区进行代码编写时,在开启自动云端生成的模式下,通义灵码会根据当前代码文件及相关代码文件的上下文,自动为你生成行级/函数级的代码建议,此时你可以使用快捷键采纳、废弃、查看不同的代码建议:

  • Tab :采纳代码建议
  • esc :废弃代码建议
  • [:查看上一个推荐结果
  • ]:查看下一个推荐结果

同时,当你在编码的过程中,也可以通过快捷键 P 手动触发生成代码建议。

快捷键表如下:

操作macOSWindows
打开/关闭智能问答窗口 LCtl Shift L
接受行间代码建议TabTab
废弃行间代码建议escesc
查看上一个行间推荐结果 [Alt [
查看下一个行间推荐结果 ]Alt ]
手动触发行间代码建议 PAlt P

自然语言生成代码

通义灵码支持两种通过自然语言描述生成代码的方式:

  1. 在编辑器中,直接通过注释的方式描述你需要的功能,直接在编辑器中生成代码建议,单击 Tab 可直接采纳 ;
  2. 在智能问答中,直接描述你需要的功能,智能问答助手将为你生成代码建议,并支持一键插入或复制代码

生成单元测试、代码注释、代码解释

当你选中的代码后,支持生成单元测试、代码注释或代码解释,有 3 种触发方式:

  1. 在编辑器中,单击右键找到通义灵码功能操作入口,单击对应功能操作;
  2. 在智能问答中,直接单击对用功能操作;
  3. 在智能问答中,使用 / 查看快捷指令,单击生成单元测试指令。

不写一行代码完成一个小程序

帮我写一个售票程序,要求:有四个售票窗口,同时进行售票,票数为0时,所有窗口关闭

image-20231121133523980

我们把代码插入到自己创建好的文件中进行运行

image-20231121133728705

还可以进行对话。

image-20231121134252180

很方便,还有非常多的功能,前面有相关介绍,这里就不一一举例了。

我使用一年AI编程后的感触

声明:谨代表个人观点!请勿代入!

AI发展日益壮大,这一年以来,有很多人抓住机遇疯狂嘎韭菜,有人抓住机遇投入AI产业,有人拿着AI写代码疯狂摸鱼…

我ChatGPT做的最多的事情就是分析代码,当我遇到看不太懂的代码我就直接复制丢给GPT,让它给我解析;当我遇到代码莫名其妙的报错,我会把报错信息丢给它,如果有必要还会把对应代码丢给他,上次排错的bug竟然是我一个变量名写错字母了,它帮我排查出来了;当我遇到我需要实现的功能无法用我现有的知识解决的时候,我会描述需求丢给它…

发现了吗?AI编程主要在干些什么?

它在为我提高工作效率,我在输入需求,它在产出内容,内容由我校验核对,成果功劳是我的。

而它目前所做到的一切,我同样也可以运用各种搜索工具找到答案,但是这样我就花费了更多的时间,而有了AI,它就是一个百科全书,自建索引,我只需要输入我想要找的大致内容,它就能给我呈现,大大的节省了我的时间,这是它在产出内容。

而如果它写的代码有问题,我需要进行判断,我可以自己修改,也可以让它继续修改,这一步就是校验核对。

最后的成果却还是属于我的,我只是运用了AI。

市面上非常多引人注目的文章是,AI将会替代人类,试问?这是需要我们操心的吗?我们操心的了吗?自己的一亩三分田耕好了吗?猪八戒说的:这不是抬别人的棺材到自己家哭吗?

AI会逐渐拉开上层和下层的技术工种,简言之,一个有想法的人想要落地一个项目,他需要人手,放在以前那就是去招兵买马,放在未来可能他只需要AI助手,不要觉得我是乱讲,而是GPT-4已经上架了这类商品。

说了这么多,其实AI目前就是你的好助手,是你没有肉体的小秘,你该学的还是要学,你要提升自身的软实力,比如解决问题的能力,检索能力,规划能力,管理能力…

所以,不需要焦虑,也不需要惶恐,我和我朋友聊的结论是,身体健康快乐活久点,未来AI大兴,刀剑神域这样的游戏就将成为现实,已来人间一趟,何不赏其芳华?

结语:

学而不思则罔,不死不学则爽。

做事要三思而后行,能不能让AI做,能不能不做,能不能下辈子做。

三百六十行,行行干破防。

天生我材必有用,我能不用就不用。

吾日三省吾身,早上吃什么,中午吃什么,晚上吃什么?

学海无涯,回头是岸。

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

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

相关文章

C#的类型转换

目录 一、简介二、基本类型转换1.整数类型转换1.隐式转换2.显式转换 2.浮点类型转换1.隐式转换2.显式转换 3.字符类型转换1.字符到整数的转换2.整数到字符的转换 4.布尔类型转换1.布尔到整数的转换2.整数到布尔的转换 三、隐式转换和显式转换四、装箱和拆箱五、自定义类型转换六…

2023年11月18日骑行海囗林场公园赏枫叶之旅:一场秋天的色彩盛宴

随着人们生活水平的提高,越来越多的人开始追求生活的品质和乐趣。骑行作为一种健康、环保的出行方式,受到了广泛的喜爱。在秋天这个美丽的季节,骑行海囗林场森林公园赏枫叶更是一种别样的体验。校长将为您记录这场秋天的色彩盛宴,…

VueH5公众号分享到微信朋友圈或好友

场景需求: 一般分享场景是在当前页面分享当前页面,但是业务需求是,在当前页面分享好几个其他页面的链接到朋友圈和好友。 PS:微信自带的分享面板是无法第三方唤起的,只能点三个点。 其次在微信公众号页也不支持自定义…

影视行业如何远程完整快速传输大文件?

影视行业是一个充满创意和协作的领域。在影视制作中,涉及到多个环节和部门,包括编剧、导演、摄影、剪辑、配音、视效等。这些环节和部门通常分布在不同的地点,甚至不同的国家。因此,影视制作过程中需要频繁进行远程传输&#xff0…

如果文件已经存在与git本地库中,配置gitignore能否将其从git库中删除

想把项目的前后台代码放到同一个git仓库管理,由于未设置.gitignore,就使用vscode做stage操作(相当于git add . 命令 其中【.】点表示全部文件),观察将要入库的文件发现,node_modules、target、.idea、log等…

Django与Ajax

一、什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json…

CentOS用nginx搭建文件下载服务器

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动。在工作中,我们经常会用到需要搭建文件服务器的情况,这里就以在linux下搭…

安防视频监控平台EasyCVR服务器部署后出现报错,导致无法级联到域名服务器,该如何解决?

视频监控平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,安防监控平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控…

JavaScript 如何拷贝对像(Object)或者数组(Array)

目录 JavaScript数据拷贝类型 浅拷贝 深拷贝 举例: 浅拷贝 数组 对象 深拷贝 lodash cloneDeep使用示例 自定义深拷贝方法示例 JSON.parse() 和 JSON.stringify()使用示例 JavaScript数据拷贝类型 浅拷贝 数组可以使用Array.prototype.slice()方法 …

安卓毕业设计:基于安卓android微信小程序的超市购物系统

运行环境 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&a…

C++纯虚函数和抽象类 制作饮品案例(涉及知识点:继承,多态,实例化继承抽象类的子类,多文件实现项目)

一.纯虚函数的由来 在多态中&#xff0c;通常父类中虚函数的实现是毫无意义的&#xff0c;主要都是调用子类重写的内容。例如&#xff1a; #include<iostream>using namespace std;class AbstractCalculator { public:int m_Num1;int m_Num2;virtual int getResult(){r…

2023-11-20 LeetCode每日一题(最大子数组和)

2023-11-20每日一题 一、题目编号 53. 最大子数组和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的…

装机 - 12400F有必要换成13400F吗

想组个跑AI大模型的机器&#xff0c;预算5000左右。3090&#xff0c;4090玩不起&#xff0c;搞了个2080ti魔改22G的。 大佬们帮忙看看这个配置咋样&#xff0c;12400F有必要换成13400F吗。 感觉13400f多出的四个能效核除了跑分作用不大&#xff1f;网上看别人说大小核架构用win…

麒麟KYSEC使用方法03-开启及关闭netctl

原文链接&#xff1a;麒麟KYSEC使用方法03-开启及关闭netctl hello&#xff0c;大家好啊&#xff0c;今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第三篇内容----使用命令开启及关闭netctl&#xff0c;联网控制策略有三种模式&#xff0c;off/enforing/warning&#xff0…

VsCode连接远程Linux编译环境的便捷处理

1.免输登录密码 免输命令的正确方法是使用公钥和私鈅在研发设备&#xff0c;和linux服务器上校验身份。公钥和私钥可在windows系统上生成。公钥要发送到linux服务器。私钥需要通知给本地的ssh客户端程序&#xff0c;相关的操作如下&#xff1a; 生成 SSH Key&#xff1a; 打开…

FCOS: Fully Convolutional One-Stage Object Detection 论文源代码复现

FCOS源代码github地址为&#xff1a; FCOS 这篇论文主要是关于目标检测的&#xff0c;今天跑一下它的实验&#xff0c;我是在autodl租的RTX 2080 Ti&#xff0c;因为这个代码比较久&#xff0c;所以Pytoch版本可能不可以装太高&#xff0c;我的镜像CUDA版本为10.1&#xff0c;…

深入 Django 的 URL 分发器

概要 在 Django 的 MVC 架构中&#xff0c;URL 分发器扮演着至关重要的角色&#xff0c;它负责将用户的请求路由到相应的视图函数或类。这一机制不仅保证了 Django 应用的高度可扩展性&#xff0c;还为开发者提供了灵活的 URL 设计能力。本文将详细介绍 Django 中的 URL 分发器…

线性表,但是是Java中数组实用使用!

线性表定义&#xff1a; 由n (n≥0)个数据特性相同的元素构成的有限序列称为线性表&#xff0c;(n0)的时候被称为空表。 线性表的顺序表示 线性表的顺序存储又被称为顺序表 优点 无需为表示表中元素之间的逻辑关系而增加额外的存储空间可以随意读取任意位置的元素 缺点 插入…

手把手教你通过CODESYS V3进行PLC编程(一)

教程背景 宏集MC系列模块化控制器是基于Raspberry Pi的高性能4核控制器&#xff0c;运动控制循环时间最快可达500微秒&#xff0c;实现了计算能力和成本之间的最佳平衡&#xff0c;适用于多轴运动控制和CNC控制。 教程目的 本系列教程将使用宏集MC系列控制器&#xff0c;详细…

极空间z2pro bitwarden+frp+nginx教程

z2pro Bitwarden Frp Nginx教程 本案例仅供记录 使用时按照自己的IP和端口进行 灵活变通 本案例中使用的设备&#xff1a; NAS&#xff1a;z2pro域名&#xff1a;est.xyz云服务器&#xff1a;腾讯云&#xff08;公网ip&#xff1a;43.43.43.143&#xff09; 一&#xff0c;Va…