公众号:数据拾光者

01 常用的AI编程助手介绍

随着LLM大语言模型大火,LLM相关的应用人工智能编程辅助工具效果也越来越好。利用这些AI工具可以大大提升写代码的效率,将节约的时间去学习更好更好玩的东西,去提升生活品质,是一件多么幸福的事。尤其是一些重复性的代码编写,还有大部分已有的功能,都可以用AI编程助手来帮助我们搞定。调研了当前市场上主流的AI智能编码辅助工具,主要有以下项目:

  • GitHub Copilot:GitHub Copilot是由GitHub、OpenAI 和微软 Azure团队联合推出的 AI 编程助手,提供智能代码建议和自动补全功能,适用于多种编程语言和 IDE。GitHub Copilot的优点是能提高开发人员的工作效率并加快软件开发的步伐,支持主流 IDE,如 Visual Studio Code 和 IntelliJ IDEA,能够自动生成高质量代码片段、上下文信息等。缺点需要付费使用,普通用户有30天试用期,之后需要付费订阅,部分用户反映在某些情况下代码生成的准确性有待提高。
  • 豆包 MarsCode:MarsCode是由字节跳动公司推出的 AI 编程助手,支持代码补全、生成、优化等功能,并支持多种编程语言和主流 IDE。优点代码补全和优化功能强大,减少重复性劳动,支持多种编程语言和 IDE,适用范围广,由大厂支持,技术能力和未来发展有保障。缺点市场推广有限,用户数量较少,需要与更成熟的工具竞争,部分功能可能尚待完善。
  • Windsurf:Windsurf 是 Codeium 推出的 AI 驱动的 IDE 编辑器,助力开发者高效编程和协作。优点提供命令面板和快捷键操作,快速访问 Windsurf 的各种功能,支持多文件编辑和实时协作,支持 Agent 工作模式切换和模型切换。缺点作为新兴工具,可能在某些功能上不如一些成熟的工具完善。
  • Tabnine:TabNine 是由以色列公司 Codota 开发的 一款基于 GPT-2 模型的代码深度学习引擎AI 驱动的代码补全和生成工具,提供长序列的代码补全结果。优点支持所有主流的开发语言,能够智能识别代码的上文信息,提供智能补全。缺点作为较新的工具,可能在某些特定场景下不如一些老牌工具稳定
  • CodeGeex:CodeGeeX 是由清华大学知识工程实验室团队和智谱 AI联合研发的一款智能编程助手,提供代码自动生成和补全、代码翻译、自动添加注释等功能。优点支持多种主流 IDE 和编程语言,提供代码自动生成和补全,提高编程效率。缺点作为较新的工具,可能需要时间来积累用户反馈和进行优化。
  • CodeFuse:CodeFuse 是蚂蚁集团基于自研的基础大模型进行微调的代码大模型,具备代码补全、添加注释、解释代码、生成单测,以及代码优化功能。优点直接可以召唤出 chat 功能,并能很好地解释代码,提供代码补全、添加注释、解释代码等功能。缺点目前还处于内测阶段,可能在功能完善度和稳定性上有所欠缺。
  • Baidu Comate:文心快码(Baidu Comate)是百度基于文心大模型的智能代码助手,提供代码生成、优化、注释等功能。优点一键生成单测和快速生成注释,提高开发效率,实时代码诊断、代码补齐、代码纠错等功能,提高代码质量。缺点作为百度的产品,可能在某些特定领域外的推广和使用上有所限制。
  • 通义灵码:通义灵码是阿里巴巴基于通义大模型的智能编程辅助工具,提供行级/函数级实时续写、自然语言生成代码等功能。优点跨文件感知让代码生成更贴合业务场景,适配多 IDE 的原生设计,符合开发者使用习惯。缺点作为阿里云的产品,可能在阿里云服务之外的使用场景中推广有限。
  • iFlyCode:iFlyCode 是由科大讯飞自主研发的智能编程助手,提供代码生成、续写、解释、单元测试等能力。优点为软件开发行业提供从设计到编码、测试的全流程辅助,帮助开发团队提升效率和代码质量。缺点作为科大讯飞的产品,可能在某些特定领域外的推广和使用上有所限制。
  • Cursor:Cursor 是由 Anysphere 公司开发的专注于提高开发者的编程效率。优点提供代码自动补全和生成,减少手动编码工作,支持多种编程语言和框架。缺点作为新兴工具,可能在功能完善度和用户反馈积累上有所欠缺。

02 超好用Cursor介绍

最早接触的AI编程助手应该是github copilot,效果不错,但是后来因为费用挺高,所以慢慢转向一些其他的AI编程助手,比如这款超好用的Cursor。

2.1 Cursor相比于GitHub Copilot的优势

Cursor相比于GitHub Copilot的优势主要体现在以下几个方面:

  • 1.代码生成和补全:Cursor提供更全面的代码生成能力,能够创建整个函数甚至多文件结构,而GitHub Copilot更专注于逐行代码补全和建议。
  • 2.自然语言理解:Cursor擅长理解和执行复杂的自然语言命令,允许开发者用普通英语描述功能,并将其转换为代码,GitHub Copilot虽然自然语言理解能力有所提升,但在处理复杂指令方面不如Cursor。
  • 4.定制化和灵活性:Cursor提供选择AI模型的灵活性,包括OpenAI、Anthropic和自定义模型,并通过`.cursorrules`等功能,允许开发者定制AI行为以匹配项目需求。GitHub Copilot使用OpenAI开发的固定模型,缺乏Cursor提供的AI行为定制化水平。
  • 5.用户体验和集成:Cursor提供了一些独特的用户体验改进,例如内联编辑和更快的下载、安装包小、启动速度快等。GitHub Copilot则无缝集成到现有的IDE如VSCode中,学习曲线相对较缓。
  • 6.隐私和安全:Cursor强调代码的隐私和安全,不存储代码,并提供隐私模式及SOC 2认证,确保代码和数据安全无忧。
  • 7.深度融入编码工作流程:Cursor不仅仅局限于提供代码建议或处理重复性任务,它实际上能够深入理解项目,了解编码风格,熟悉项目结构,甚至能够捕捉到团队的最佳实践,并提供个性化的代码优化建议。

这些优势使得Cursor在某些方面比GitHub Copilot更加强大和灵活,尤其是在处理复杂任务和自然语言能力方面。然而,选择哪个工具最终取决于个人需求和工作流程。

2.2 Cursor下载和安装

在Cursor官网(https://www.cursor.com/)下载,比如我这里下载Windows版本,然后安装,使用github或者google账号登录即可:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全

下面是Cursor登录界面:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_02

下面是打开Cursor之后使用的界面:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_03

2.3 Cursor支持哪些编程语言

Cursor支持多种编程语言,具体包括但不限于:

  • Python:Cursor支持Python语言的代码生成和编辑。
  • Java:Cursor能够辅助编写和优化Java代码。
  • C:Cursor支持C语言,帮助开发者提高编码效率。
  • JavaScript:Cursor支持JavaScript,能够根据输入和需求自动生成代码片段。
  • TypeScript:Cursor为TypeScript提供AI辅助功能,支持代码生成和优化
  • C++:Cursor支持C++语言,可以辅助编写C++代码。
  • Go:Cursor也支持Go语言,助力Go语言的开发工作。

Cursor通过集成GPT-4等先进的自然语言处理和深度学习算法,能够根据用户的输入或需求自动生成高质量代码,支持上述多种主流编程语言,为不同语言的开发提供AI辅助。

2.4 Cursor支持的LLM模型

Cursor支持的LLM(Large Language Models)模型包括:

  • GPT-4o:一个由OpenAI开发的高级语言模型。
  • GPT-4:同样由OpenAI开发的另一个高级语言模型。
  • Claude 3.5 Sonnet:由Anthropic开发的高级语言模型。
  • cursor-small:Cursor的自定义模型,速度更快,用户可以无限制使用。

此外,Cursor还支持长上下文专用模型,包括:

  • gpt-4o-128k
  • gemini-1.5-flash-500k
  • claude-3-haiku-200k
  • claude-3-sonnet-200k
  • claude-3-5-sonnet-200k。

用户还可以根据自己的需求添加自定义模型,并配置自己的API密钥来使用这些模型。这提供了灵活性,允许用户根据自己的需求和成本使用不同的AI服务。

2.5 GitHub Copilot和Cursor收费情况

先介绍下GitHub Copilot的收费情况:

  • 个人订阅(GitHub Copilot Individual):提供月度和年度计费周期。如果选择每月计费,则每个日历月的费用为10美元;如果选择年度计费,则每年的费用为100美元。用户可以随时在月度和年度计费周期之间切换,更改将在下一个计费周期生效。个人用户在开始付费订阅之前,可以享受一次性的30天免费试用版来评估GitHub Copilot。如果用户在试用期结束前没有取消试用,则试用版将自动转换为付费订阅。
  • 企业订阅(GitHub Copilot Business 和 GitHub Copilot Enterprise):GitHub Copilot Business 订阅采用月度计费周期,按每用户每月19美元计费。GitHub Copilot Enterprise 提供给 GitHub Enterprise Cloud 上的企业,除了包含 GitHub Copilot Business 的所有功能外,还提供 GitHub 的其他 AI 功能。
  • 免费订阅:验证的学生、教师以及 GitHub 上的常用开源存储库的维护人员可以免费使用 GitHub Copilot 的订阅。

Cursor主要包含三种不同的账户:

  • Hobby:免费计划,包括两周 Pro 试用期、每月 2000 个代码补全(completions)、50 个慢速优先的高级请求(slow premium requests)和 200 次 Cursor-small 模型的使用。Cursor-small 是一个更快的模型,适用于快速编辑任务。
  • Pro:每月 $20,包括所有 Hobby 计划内容,并提供无限制的代码补全、每月 500 个快速优先的高级请求、无限制的慢速高级请求、无限制的 Cursor-small 使用以及每天 10 次 Claude Opus 使用。高级模型包括 GPT-4、GPT-4o 和 Claude 3.5 Sonnet。快速使用意味着请求会优先处理,而超出快速使用限额后的请求可能会在高负载时排队。
  • Business: 每用户每月 $40,包括 Pro 计划内容,并增加了集中式账单、管理员使用情况仪表板、强制隐私模式和 OpenAI/Anthropic 零数据保留政策。隐私模式确保代码仅存储在用户的设备上,不会用于训练。Cursor 的某些功能不支持通过 API 密钥计费。如果用户超出计划限制,Cursor 会请求用户升级计划。

目前主要使用的是Hobby免费账户,感觉效果还不错。后面如果真能大幅度提升工作效率,这点费用也是完全可以接受的,毕竟省下来大把的自由时间。后面还会再调研下其他效果好最好能免费的AI智能编程助手项目进行分享。

2.6 Cursor核心功能

Cursor 辅助AI编程提供了四个主要功能:

  • Tab智能代码补全
  • Ctr + K提示框功能,可以编辑代码
  • Ctr + L聊天功能,回答用户关于代码和整个项目的问题,可以编辑代码(功能最全面)
  • Ctr+i编辑整个项目代码(跨文件编辑代码)

2.6.1 Tab智能代码补全

Cursor最基本也是最重要的功能就是Tab智能代码补全功能。根据当前的代码上下文,自动生成代码补全的建议,用户直接通过Tab键就可以完成代码的修改与补全。比如我们输入函数def test,cursor则会自动帮忙生成后面的代码,比如灰色部分代码。如果生成的结果是你想要的,键入tab键即可完成 智能代码补全功能:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_04

Cursor最强的优势在于它的代码编辑能力,不仅可以插入代码,而且可以对现有的代码进行修改,这也是Cursor在官方文档中多次强调的:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_05

2.6.2 Ctr + K提示框功能

Ctr + K提示框功能主要用来生成或修改局部的代码,用户通过文本输入自己的需求,然后选择相关的模型,Cursor就会根据需求来生成对应的代码,真正做到“会说就会写程序”的目的。Ctr + K提示框功能是用户需要引导AI怎么做的最快速方式,这弥补了 AI 不能完全理解用户意图的缺陷。只要能详细准确的阐述需求,利用LLM的理解能力即可生成对应的程序代码,提升效率。Ctr + K提示框功能是 Cursor 中最快速与 AI 交互的方式,它就像一个随时待命的编程助手,让你能快速获得 AI 的帮助。Ctr + K提示框功能使用方式包括两种:第一种是编写新的代码。在空白区域使用Ctr + K打开提示框,选择模型,通过文字需求需求比如“输入两张图片,基于dhash算法计算两张图片的相似度”,点击生成即可。下面是实际操作示例:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_06

生成完成之后,可以点击Accept即可完成生成代码流程。

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_编程语言_07

第二种是修改已有的代码。选中想要修改的代码使用Ctr + K打开提示框,选择模型,通过文本表述需求直到LLM修改对应的代码点击生成。然后点击代码右侧进行单行代码的Accept或者Reject操作即可使修改的代码是否生效。

2.6.3 Ctr + L聊天功能

Ctr + L聊天功能是用来针对更宽泛的代码问题进行对话的,更好的支持多轮的对话,可以针对更宽泛的编程问题进行解答。通过chat的方式一步步和Cursor沟通需求,指导模型生成自己想要的代码。使用方式是选中一块区域代码,比如这里我没有安装PIL包,然后键入ctr+L,右上角就会出现Cursor chat界面,针对缺失PIP包的问题,可以输入“如何引入PIL”包:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_08

输入问题之后,cursor chat就会针对问题进行回答,如果有合适的解决方案,比如这里使用pip安装,点击Run即可完成对应的python包安装,非常好用。

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_09

Ctr + L聊天功能适合以下的场景:

  • 解答编程概念问题,学习新技术或框架
  • 获取代码建议和最佳实践
  • 调试和错误排查

2.6.4 Ctr+i编辑整个项目代码

前面的三个功能都是在单个文件中生成和修改代码。Ctr+i编辑整个项目代码功能则可以从项目角度来生成多个文件。比如我输入Ctr+i就会进入右上角的COMPOSER界面,这里我输入“请你帮我编写一个贪吃蛇游戏,可以在浏览器打开进行试玩”。Cursor就会生成项目级别的文件,比如会分别生成一个html文件和js文件(会根据项目的难易程度生成多个文件)。下面是Ctr+i编辑整个项目代码示例说明:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全_10

03 Cursor实践案例

3.1 使用Ctr+K提示框功能计算两张图片的相似度

下面是用Cursor的Ctr+K提示框功能写一个基于dhash算法计算两张图片的相似度的python代码实例。流程非常简单,打开cursor之后,创建一个test1.py的文件,在空白处使用ctr+k命令,开启输入相关需求窗口,输入“输入两张图片,使用dhash算法,计算两张图片的相似度得分”,然后点击generate生成按钮:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全_11

然后Cursor就可以自动生成下面的代码:

如果缺失对应的python包也可以问Cursor,比如上面的例子中需要用到PIL包,直接在Cursor的chat窗口中问“找不到PIL”,然后Cursor就会给出对应的方案使用pip,点击后面的RUN就可以直接执行了,非常方便:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_12

验证上面生成的代码是否可以正常执行,右键run即可。下面是执行结果:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_13

生成的代码是可以正常运行的,准确性还不错。

3.2 使用Ctr+i功能写一个贪吃蛇游戏

下面是使用Cursor的Ctr+i功能写一个简单的贪吃蛇游戏。打开一个空白的项目,输入ctr+i,然后在右边的COMPOSER界面输入“请你帮我编写一个贪吃蛇游戏,可以在浏览器打开进行试玩”:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_14

Cursor就会自动创建贪吃蛇项目,需要创建HTML和JavaScript两个文件。首先会构建一个HTML文件:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_AI编程_15

然后会创建一个游戏逻辑的JavaScript文件:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全_16

最后还会自动生成贪吃蛇游戏的使用说明、游戏特点以及后面的优化项:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全_17

项目构建好了之后怎么使用项目是个问题。可以继续在COMPOSER界面输入“怎么运行这个游戏”,Cursor就会生成一个简单的游戏运行说明书以及注意事项::

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_18

按照使用说明书,我们到项目文件夹中,双击index.html就可以在浏览器中玩自己构建的贪吃蛇游戏了。虽然很粗糙,但是已经可以直接试玩了。下面是生成的贪吃蛇游戏页面截图:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_代码补全_19

如果想继续优化,可以继续利用Cursor优化。比如原来的界面太粗糙,这里我新增“开始游戏”和“暂停游戏”两个按钮。只需要在Cursor的COMPOSER界面中输入相关的优化需求,点击生成即可:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_编程语言_20

下面是新生成的界面,点击开始游戏按钮即可开始玩贪吃蛇游戏。玩了一会游戏之后想暂停可以点击“暂停游戏”按钮会变成“重新开始”和“继续游戏”两个按钮。下面是更改之后的游戏界面截图:

广告行业中那些趣事系列93:学会用AI编程助手Cursor人人都能当程序员_提示框_21

基本上有了cursor之后,产品童鞋也能根据自己的需求来写程序了。

04 我们可以用Cursor做什么

对于程序员来说,Cursor可以大幅度提升我们的工作效率。比如常用的功能、算法等直接用Cursor就可以帮我们生成。有些小伙伴不喜欢写注释,有了Cursor之后还可以帮助我们写代码注释,变身“代码注释小达人”。还有接受一些新项目新的程序时,如果不想一行一行去看代码,也可以利用Cursor帮我们分析项目快速读懂代码;

对于产品经理来说,如果有一些好的创意点子,以前可能需要编程基础才能实现。现在学会用Cursor之后,详细准确的描述需求,即可指挥Cursor这个“打工人”帮我们写代码。Cursor支持主流的编程语言,可以帮助我们很好的完成自己的作品。“会说即会写代码”,让写代码的门槛大大降低。

下面是使用Cursor来帮助编程小白打造自己的导航网站教程:

编程小白如何打造自己的导航网站

我们还可以用Cursor来开发微信小程序:

手把手教小白如何8分钟用Cursor完成AI微信小程序的开发上线

使用Cursor开发一个记账网页:

7分钟上线部署一个记账网页

甚至用Cursor开发小程序开启副业收入:

用Cursor制作的小程序2周开通流量主,开通流量主后怎么手动设置广告呢?教你使用Cursor完成

参考资料

【1】Cursor Learning Platform for Beginners:https://www.lookai.top/en


码字不易,欢迎小伙伴们关注和分享。