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

本文主要是介绍【无矶之谈】编码能力堪比Copilot、Cursor、GPT-国内可用的智能AI编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言简述

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做,能不能不做,能不能下辈子做。

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

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

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

学海无涯,回头是岸。

这篇关于【无矶之谈】编码能力堪比Copilot、Cursor、GPT-国内可用的智能AI编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403425

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜